matlab画出单位抽样序列,MATLAB下的数字信号处理:理想采样信号序列/单位脉冲序列矩形序列/特定冲击串/卷积...

matlab下的数字信号处理实现示例

b7c2cd9273ab44f16308fe83a0403fda.gif

J3KdCnWx.pdf

(111.9 KB, 下载次数: 131

)

附录 C MATLAB 下的数字信号处理实现示例

本部分内容是本讲义中数据信号处理实验部分实验项目在 MatLab 下实现代码。之所以

提供这些代码,是希望通过研究以下代码,能够更快、更好地掌握用MatLab 进行数据信号

处理实验的方法;提高实验质量。希望同学们在阅读代码的时候,注意学习方法,在最短的

时间内熟悉MatLab,提高应用能力。示例中有些部分是实验项目中的内容实现,有些是一

些典型例题的实现。研究示例代码,倡导个性化编程是我们的目标,希望同学们能在在进行

实验项目的过程中提高MatLab 的应用能力;在学习MatLab 编程的同时加强对数字信号处

理有关实验项目的理解。

以下代码段均在 MatLab5.3 下调试通过,但是由于排版或其他一些原因,可能有部分代

码段不能得到正常结果。您可以在“http://202.38.75.33/dsp/matlab/”得到本讲义的修订内容,

同时可以在这个网址获取所有代码。

附录C1 信号、系统和系统响应

1、理想采样信号序列

(1)首先产生信号x(n),0<=n<=50

n=0:50; %定义序列的长度是50

A=444.128; %设置信号有关的参数

a=50*sqrt(2.0)*pi;

T=0.001; %采样率

w0=50*sqrt(2.0)*pi; %ω符号在MatLab 中不能输入,用w 代替

x=A*exp(-a*n*T).*sin(w0*n*T); %pi 是MATLAB 定义的π,信号乘可采用“.*”

close all %清除已经绘制的x(n)图形

subplot(3,1,1);stem(x); %绘制x(n)的图形

title(‘理想采样信号序列’); %设置结果图形的标题

(2)绘制信号x(n)的幅度谱和相位谱

k=-25:25;

W=(pi/12.5)*k;

X=x*(exp(-j*pi/12.5)).^(n’*k);

magX=abs(X); %绘制x(n)的幅度谱

subplot(3,1,2);stem(magX);title(‘理想采样信号序列的幅度谱’);

angX=angle(X); %绘制x(n)的相位谱

subplot(3,1,3);stem(angX) ; title (‘理想采样信号序列的相位谱’)

(3)改变参数为: 1, 0.4, 2.0734, 1 0 A = α = Ω = T =

n=0:50; %定义序列的长度是50

A=1; a=0.4; w0=2.0734; T=1; %设置信号有关的参数和采样率T

x=A*exp(-a*n*T).*sin(w0*n*T); %pi 是MATLAB 定义的π,信号乘可采用“.*”

close all %清除已经绘制的x(n)图形

subplot(3,1,1);stem(x); %绘制x(n)的图形

title(‘理想采样信号序列’);

k=-25:25;

W=(pi/12.5)*k;

X=x*(exp(-j*pi/12.5)).^(n’*k);

magX=abs(X); %绘制x(n)的幅度谱

subplot(3,1,2);stem(magX);title(‘理想采样信号序列的幅度谱’);

angX=angle(X); %绘制x(n)的相位谱

subplot(3,1,3);stem(angX) ; title (‘理想采样信号序列的相位谱’)

2、单位脉冲序列

在 MatLab 中,这一函数可以用zeros 函数实现:

n=1:50; %定义序列的长度是50

x=zeros(1,50); %注意:MATLAB 中数组下标从1 开始

x(1)=1;close all;

subplot(3,1,1);stem(x);title(‘单位冲击信号序列’);

k=-25:25;

X=x*(exp(-j*pi/12.5)).^(n’*k);

magX=abs(X); %绘制x(n)的幅度谱

subplot(3,1,2);stem(magX);title(‘单位冲击信号的幅度谱’);

angX=angle(X); %绘制x(n)的相位谱

subplot(3,1,3);stem(angX) ; title (‘单位冲击信号的相位谱’)

3、矩形序列

n=1:5; 0x=sign(sign(10-n)+1);

close all; subplot(3,1,1); stem(x);title(‘单位冲击信号序列’);

k=-25:25; X=x*(exp(-j*pi/25)).^(n’*k);

magX=abs(X); %绘制x(n)的幅度谱

subplot(3,1,2);stem(magX);title(‘单位冲击信号的幅度谱’);

angX=angle(X); %绘制x(n)的相位谱

subplot(3,1,3);stem(angX) ; title (‘单位冲击信号的相位谱’)

4、特定冲击串

x(n) =δ (n) + 2.5δ (n ?1) + 2.5δ (n ? 2) +δ (n ? 3)

n=1:50; %定义序列的长度是50

x=zeros(1,50); %注意:MATLAB 中数组下标从1 开始

x(1)=1; x(2)=2.5; x(3)=2.5; x(4)=1;

close all; subplot(3,1,1);stem(x);title(‘单位冲击信号序列’);

[此贴子已经被作者于2009-5-12 1:53:24编辑过]

你可能感兴趣的:(matlab画出单位抽样序列)