数字信号处理实验报告 联系客服

发布时间 : 星期六 文章数字信号处理实验报告更新完毕开始阅读dbaee9040740be1e650e9ab3

实验体会:

通过本实验熟悉Z变换在离散时间系统分析中的地位和作用,掌握并熟练使用有关离散系统分析的MATLAB调用函数及格式,以深入理解离散时间系统的频率特性。

通过本实验我还了解到了如何求系统的阶跃响应、单位抽样响应h(n)、离散系统的极零图以及频率响应H(ejw):

一、求系统的阶跃响应在matlaB中可以使用y=filter(b,a,x),其中x,y,a,b都是向量;

二、求单位抽样响应h(n)可以使用h=impz(b,a,N) 或 [h,t]=impz(b,a,N);

三、求离散系统的极零图可以使用zplane(z,p)或zplane(b,a); 四、求频率响应H(ejw)可以使用[H,w]=freqz(b,a,N,‘whole’,Fs)

其中N是频率轴的分点数,建议N为2的整次幂;w是返回频率轴坐标向量,供绘图用;Fs是抽样频率,若Fs=1,频率轴给出归一化频率;whole指定计算的频率范围是从0~Fs,缺省时是从0~Fs/2。

9

实验二、快速傅里叶变换

(一)、实验目的

1、通过本实验进一步加深对快速傅里叶变换的理解。 2、会熟练运用fft,ifft,czt实现线性调频z变换。 (二)、实验内容 1、快速傅里叶变换(fft)

调用格式为 X=fft(x) 或 X=fft(x,N)

对前者,若x的长度是2的整次幂,则按该长度实现x的快速变换,否则,实现的是非2 的整次幂的变换;对后者,N应为2的整次幂,若x得长度小于N,则补零,若超过N,则舍弃N以后的数据。ifft的调用格式与之相同。

例1、令x(n)是两个正弦信号及白噪声的叠加,试用fft文件对其作频谱分析。

实现该任务的程序为: clear all;

% 产生两个正弦加白噪声;

N=256;% 2的8次幂,进行8级蝶形运算; f1=.1;f2=.2;fs=1; a1=5;a2=3; w=2*pi/fs;

10

x=a1*sin(w*f1*(0:N-1))+a2*sin(w*f2*(0:N-1))+randn(1,N);

% 应用FFT 求频谱; subplot(3,1,1);

plot(x(1:N/4));%作图向量x的第一到第N/4个值; f=-0.5:1/N:0.5-1/N;

X=fft(x); % 快速傅里叶变换; y=ifft(X);% 快速傅里叶逆变化 subplot(3,1,2); plot(f,fftshift(abs(X))); subplot(3,1,3);

plot(real(y(1:N/4))); %作图向量y的第一到第N/4个值的实部;

附:fftshift函数

fftshift函数就是一个交换函数: 交换规则如下: 如:x=[1 2 3 4 5 6 7 8]; y=fftshift(x);

then y=[5 6 7 8 1 2 3 4]; 其在fft运算里的物理意义:

把0频(低频)周围的频谱搬移到中频范围(采样频率的一半),只是形象化的展示FT变换后的低频成分(正负频率)。

11

其实质是把Fs/2的右边频谱平移到Fs/2的左边,把低频平移到Fs/2的右边,各图象间距不变。 2、线性调频Z变换(CZT)

CZT可用来计算单位圆上任一段曲线上的Z变换,做DFT时输入的点数N和输出的点数可以不相等,从而达到频域“细化”的目的。CZT在单位圆上的Z变换就是傅里叶变换。 其调用格式为: X=czt(x,M,W,A)

式中x是待变换的时域信号x(n),其长度设为N,M 是变换的长度,W确定变换的步长,A确定变换的起点。若M=N,A=1,则CZT变成DFT。CZT应用举例:

例2、设x(n)由三个实正弦组成,频率分别是8Hz,8.22Hz,9Hz,抽样频率为40 Hz,时域取128点,作CZT变换和FFT变换。 实现该任务的程序为: clear all;

% 构造三个不同频率的正弦信号的叠加作为试验信号 N=128;

f1=8;f2=8.22;f3=9;fs=40; stepf=fs/N; n=0:N-1; t=2*pi*n/fs; n1=0:stepf:fs/2-stepf;

12