1、Comment l1: 页:1信号与系统 数字信号处理系列课程设计与综合性实验实验报告班级: 学号: 姓名: 得分:实验题目:DFT 分析模拟信号 x(t)的频谱(1)实验目的:应用傅里叶变换 DFT,分析各种模拟信号 x(t)的频谱。参考书目:薛健 胡健 数字信号处理基础 ,电工电子教学基地 ,2002 年 7月;吴湘淇等信号、系统与信号处理 (修订本) ,电子工业出版社,2001;Vinay K.Ingle John G.Proakis 著 陈怀琛等译 数字信号处理及其 MATLAB实现 ,电子工业出版社,1998。实验内容:1) 利用 FFT计算信号 x1(t)=exp(-2t)u(t)
2、-u(t-2)的离散频谱 X(m);2) 利用 FFT计算信号 x2(t)=exp(-2t) u(t)的离散频谱 X(m);3) 确定 DFT计算的各参数(取样间隔 T, 时域长度 Tp, 频谱分辨率 F等) ;4) 进行理论值与计算值比较,分析各信号频谱分析的计算精度;5) 详细列出利用 DFT分析连续信号频谱的步骤;6) 写出实验原理。实验原理及步骤一、实验原理:将时域连续信号离散化、周期化,在频域便会得到周期离散的频谱,DFT 正是在其频谱主值周期的取值。二、实验步骤:1) 确定截取时域信号长度 Tp、取样频率 fs、取样间隔 T、取样点数 N;2) 对时域信号进行抽取;3) 利用 DF
3、T的快速算法 FFT计算所得离散序列的 DFT;4)将 DFT序列重新排列,便得到连续信号的频谱。附程序及运行结果:fs=8;N=16;T=1/fs;ws=2*pi*fs;t=(0:N-1)*T;f=T*exp(-2*t);F=fftshift(fft(f);w=-ws/2+(0:N-1)*ws/N;FT=sqrt(1-exp(-4)*cos(2*w).2+(sin(2*w).2)./(4+w.*w);plot(w,abs(F),w,FT,:);legend(近似值, 理论值);频谱图:fs=16;N=256;T=1/fs;ws=2*pi*fs;t=(0:N-1)*T;f=T*exp(-2*t
4、);F=fftshift(fft(f);w=-ws/2+(0:N-1)*ws/N;FT=1./sqrt(4+w.*w);plot(w,abs(F),w,FT,:);legend(近似值, 理论值);频谱图:实验中出现的现象,分析其原因,得出结论实验中出现的现象:两个信号 x1(t)为有限长,x2(t)为无限长。X1(t)的谱线上有波动,存在频率混叠。相比较之下,x2(t)的谱线就很平滑,而且与理论值很接近。分析原因:时域截取信号长度太小会产生频率泄漏,取样频率小会使频谱混叠。结论:当原始信号有限长,截取信号的长度等于原始信号的长度,则可以不考虑泄漏的影响。当原始的非周期信号为无限长或比较长,而
5、截取的长度有限长或不等于原始信号的长度,则需要考虑频谱泄漏的不良影响。增加时域截取长度,可以减小频谱泄漏误差。增大取样频率可以减小频谱混叠误差。回答思考题:1)既然可以直接计算 CTFT,为什么利用 DFT 分析连续信号频谱?答:因为可以通过计算机采用 DFT 对信号进行谱分析,而且 DFT 存在快速算法 FFT,能使计算的速度和精度得到很大提高。2)在利用 DFT 分析连续信号频谱时,会出现哪些误差?如何克服或减弱?答:若信号为非带限,则必然存在频谱混叠误差;若取样长度不等于基本周期的整数倍,则无论信号是否带限,则必然存在频率泄漏误差。提高抽样频率,可以减小频谱混叠误差;采用非矩形窗或增加样
6、本点个数 N,即增加取样长度,可以减小频率泄漏误差。3)在利用 DFT 分析连续信号频谱时,如何选择窗函数?答:应选择主瓣宽度窄、旁瓣衰减大即窗函数在时域的幅度是逐渐减小的窗函数。信号与系统 数字信号处理系列课程设计与综合性实验实验报告班级: 学号: 姓名: 得分:实验题目:DFT 分析离散信号 x(k)的频谱(2)实验目的:应用傅里叶变换 DFT,分析各种离散信号 x(k)的频谱。参考书目薛健 胡健 数字信号处理基础 ,电工电子教学基地 ,2002 年 7 月;吴湘淇等信号、系统与信号处理 (修订本) ,电子工业出版社,2001;Vinay K.Ingle John G.Proakis 著
7、陈怀琛等译 数字信号处理及其 MATLAB实现 ,电子工业出版社,1998。实验内容:1) 利用 FFT 计算信号 x(k)=R128(k)的离散频谱 X(m);2) 利用 FFT 计算信号 x(k)=(1/2)t u(k)离散频谱 X(m);3) 确定 DFT 计算的各参数;4) 进行理论值与计算值比较,分析各信号频谱分析的计算精度;5) 详细列出利用 DFT 分析离散信号频谱的步骤;6) 写出实验原理。实验原理及步骤:一、实验原理:DFT 计算的是离散傅里叶变换,是离散时间傅里叶变换 DTFT 的频域抽样值,所以 DFT可以反映离散序列的频谱信息。二、实验步骤:1) 确定所要计算的序列长度
8、;2) 利用计算 DFT 的快速算法 FFT 计算离散序列的 DFT;3) 所的频谱便是离散序列的 DTFT 在主值周期上的抽样值。程序及运行结果:1)k=0:127;f=k=0:127;F=fft(f);L=0:511;FE=fft(f,512);w=linspace(0,pi,512);h=freqz(f,1,w);subplot(2,1,1);plot(w/pi,abs(h);legend(理论值);subplot(2,1,2);plot(k/127,abs(F),L/512,abs(FE),:);legend(计算值 128 点, 计算值 512 点);2) 、k=0:511;f=(1
9、/2).k;b=1;a=1,-0.5;w=linspace(0,2*pi,512);h=freqz(b,a,w);F=fft(f);L=0:7;FE=fft(f,8);plot(k/512,abs(F),:,L/8,abs(FE),b-,w/(2*pi),abs(h);legend(计算值 512,计算值 8,理论值);实验中出现的现象,分析其原因,得出结论实验中出现的现象:计算不同点数的 DFT,其结果与理论值偏差不同。分析原因:离散序列的 DFT 是对其连续频谱 DTFT 在主值周期的抽样,所以抽样点数越多,其反映 DTFT 的内容越多,与理论值的误差越小。结论:利用 DFT 计算离散序列
10、频谱时,计算的点数越多,误差越小。回答思考题:1) 既然可以直接计算 DTFT,为什么利用 DFT 分析离散信号频谱?答:因为离散序列的 DTFT 是连续的周期函数,不适合计算机进行计算,而序列的 DFT 本身是一个序列,因此特别适合计算机进行计算。除此之外还存在着计算 DFT 的快速算法FFT,这又大大的提高了计算的快速性。2) 在利用 DFT 分析离散信号频谱时,会出现哪些误差?如何克服或减弱?答:频谱混叠,频率泄漏。增加抽样点数 N,选择合适的窗函数。3)在用 DFT 分析离散信号频谱时,如何选择窗函数?答:尽量宽,尽量不要突变。3) 不灵和增加信号长度都可以提高频谱分辨率,两者有何本质
11、区别?答:信号长度 N 决定了分辨率的高低, N 一定无论补零多少,分辨率不变; N 一定时增加补零点,只会使频谱变密,可以更多的显示出频谱中的细节。实验题目:利用 DFT 计算随机信号的功率谱估计(3)实验目的:应用傅里叶变换 DFT,分析随机信号的功率谱分析参考书目:(1)吴湘淇信号、系统与信号处理 ,电子工业出版社。2001;(2)吴湘淇信号、信号与信号处理系统硬件实现 ,电子工业出版社,2001(3)JohnR.Buck, 信号与系统 Explorations in Signals and Systerm西安交大出版社实验内容:(1) 、利用 FFT 计算随机语音信号的功率谱分析(2)
12、 、利用相关法和周期法计算随机信号样本 x(k)=R256(k)功率谱分析(3) 、确定 DFT 计算的各参数(4) 、进行理论值与计算值比较,分析功率谱分析的计算精度(5) 、详细写出利用 DFT 分析功率谱分析的步骤(6)、写出实验原理实验原理及分析步骤:根据随机信号的一个样本的 N 个观测值,估计其自相关函数,Rx(m),再求Rx(m)的 DTFT,就的随机信号的功率谱。实验程序与结果:1) load mtlb; fs=7418;T=1/fs;x=mtlb;M=length(x); t=0:M-1*T;plot(t,x);ylabel(x(t);xlabel(time(s);title(
13、speech signal);pauseN=2*M-1;X=T.*fft(x,N);Xpower=X.*conj(X);Rxx=1/T.*ifft(Xpower,N);t1=-M+1:M-1*T; plot(t1,real(fftshift(Rxx);ylabel(Rxx(t);xlabel(time(s); title(auto-correlation function of speech signal);f=-M+1:M-1*fs/N;pauseplot(f,abs(fftshift(Xpower);ylabel(abs(Xpower);xlabel(frequency);回答思考问题:(
14、1)自相关法和周期图法有何区别?答:周期图法(经典功率谱估计)是以 DFT 为基础计算 FFT 快速算法,为基础计算 FFT 快速算法,自相关法是间接的用有限数据先通过估计相关函数,进而求出功率谱估计(2)如何提高随机信号功率谱的精度?答:由于经典功率谱估计的视线,通常采用 FFT 算法,如同确定信号分析,为了减少频谱混叠与功率泄漏,首先先要按照取样定理恰当的确定取样频率和数据长度,前者可通过抗混跌滤波器限定被处理信号的有效带宽,后者可根据频率分辨率的要求选取每一段的数据长度 L=1/FT.为了减少功率泄漏所产生的误差,在预处理时,应把滞留或者周期分量曲调,因为他们会产生冲击谱导致邻近的谱出现
15、失真。实验题目:连续周期信号的时域取样(4)实验目的:掌握连续时间信号的离散化过程,深刻理解时域取样定理参考书目:(1)吴湘淇信号、系统与信号处理 ,电子工业出版社。2001;(2)吴湘淇信号、信号与信号处理系统硬件实现 ,电子工业出版社,2001(3)JohnR.Buck, 信号与系统 Explorations in Signals and Systerm西安交大出版社实验内容:(1)信号解析式已知的信号采样(2)信号解析式未知的信号采样(3)分析信号采样过程中可能的误差(4)详细列出连续信号采样的步骤和主要原理实验原理:要利用计算机对信号进行分析,必须要求该信号在时域的波形及在频域的频谱均
16、为离散的序列。我们已学习了付利叶变换,通过该变换,我们可以实现离散化。由于对长度或无限长的信号需要作截断处理,所以如果不能恰当地确定取样间隔 T 和相应的长度 N,势必产生混叠误差和泄漏误差。对于一个信号 x(t),,若把它截断,等与将 x(t)乘以 w(t),在频域内,进行的是卷积运算。截断后信号的频谱由于卷积出现吉伯斯现象,使原信号频谱产生波动,频谱扩散的结果导致功率泄漏。确定合理的 T 和 N,就能避免或减少这种误差。(1)信号解析式已知的信号采样a、x(t)为周期信号首先,根据题意求出最高频率 fm,根据取样定理,取样率 fs=2fm=2kf0,f0 为基频,k 为最高谐波次数。由于周
17、期信号在一个周期内包含有信号的全部信息,所以时域取样的长度 L0 应取基本周期的整数倍 n0,即 L=n0*T0=N*T,N=n0*(2k+1)。b、x(t)为非周期信号若频带宽度有限且等与 fm,则取 fs=22.5fm,T=1/fs;若频带无限宽或很宽,则取集中能量的95%98%的频带宽度或时间长度作为 fm 和 L,即 Em/Ex=95%98%(2)信号解析式未知的信号采样在信号解析式未知的情况下,T 和 N 的确定往往采用试探法。具体方法是,在图形中找出变化最快的两个点并假设两点之间峰与谷的时间间隔近似等与最高频率的半个周期。实验中出现的现象,分析其原因,得出结论:信号解析式已知的信号
18、采样(周期信号)T0=2;N=32;T=T0/N;t=0:T:T0; x=3*sin(2*pi*t)+cos(pi*t)+5*cos(4*pi*t);X=1/N*fft(x,N);f=1/T*(-N/2:(N/2-1);subplot(2,1,1);stem(f,abs(fftshift(X);xlabel(Frequency(Hz);ylabel(magnitude);title(spectrum);subplot(2,1,2);stem(f,angle(fftshift(X);xlabel(Frequency);ylabel(phase);信号解析式已知的信号采样(非周期信号)N=4000
19、;T=0.01;M=2500;t=0:T:(M-1)*T;x=exp(-0.1*t).*(cos(10*t)+cos(12*t);X=0.01*fft(x,N);subplot(2,1,1);plot(t,x);xlabel(Time(s);ylabel(x(t);w=2*pi/T/N.*(0:N-1);X0=(0.1+j*w)./(0.1+j*w).2)+(0.1+j*w)./(0.1+j*w).2+12.2);subplot(2,1,2);c=plot(w,abs(X0),r);hold on;stem(w,abs(X);hold off;axis(0,20,0,6);legend(|X(
20、w)|,|TXm,0);xlabel(Frequency(rad/s);ylabel(|X(w)| and |TXm|) ;回答思考题在实际工程应用中,如何确定采样率?答:在实际工程应用中,往往没有具体的信号解析式,计算机计算时需要的 T 和 N 的确定往往采用试探法。具体方法是,在图形中找出变化最快的两个点并假设两点之间峰与谷的时间间隔近似等与最高频率的半个周期。即 t0=Tm/2,则有 fm=1/Tm=1/2*t0,选取 fs=2.5fm。信号与系统 数字信号处理系列课程设计与综合性实验实验报告班级:电子 0014 学号: 姓名: 得分:实验题目:信号的多速率变换实验目的:掌握信号的内插和
21、抽取过程,深刻理解信号经抽取或内插后信号时域与频域对应关系。参考书目:数字信号处理基础 胡健 薛健 编著信号分析与处理-MATLAB 语言及应用 黄文海 熊桂林 杨勇 编著实验内容:(1)对有限长离散信号进行整数倍抽取,比较抽取前后的信号频谱;(2)对有限长离散信号进行整数倍内插,比较内插前后的信号频谱;(3)对有限长离散信号进行整数倍内插后通过低通滤波器,与(2)比较;(4 ) 对有限长离散信号进行有理分式的采样率转换,比较处理前后的频谱; (5)详细列出信号采样率转换的步骤;(6)写出实验原理。实验原理及步骤实验原理:当 TWm 时,既 fs2fm 是抽样后序列的频谱和连续信号的频谱的形状
22、是基本一致的,我们称这种情况是无混叠得抽样。当 TWm 时,再对 F(j/T)进行周期化时,相邻两个波形的非零部分将会重叠,这是离散信号的频谱和连续信号的频谱形状就不一样了。这种由于抽样频率不够高而使抽样后的频谱发生变化的现象称之为混叠。实验步骤:先选取一个时域上的函数,绘制其频谱土,再对其进行抽样河内差,并绘制他们的频谱图。设计一个低通滤波器,绘制内插后的序列经过低通滤波器后的频谱,并与未经过低通滤波器前的频谱进行比较。实验中出现的现象,分析其原因,得出结论(1) 原离散信号经抽取后信号频谱的幅值是原信号的 1/Ts 倍(Ts 是抽样周期) ,w 轴扩展 Ts 倍。因为试验选取的抽样频率符合
23、 Ws=Wm,所以试验结果没有出现混叠。(2) 信号内插后通过低通滤波器,高频分量被滤除掉,只剩下低频分量。回答思考题1) 在采样率转换中,如何设计和应用滤波器?答:2) 信号经抽取后可否通过内插恢复原信号?答:不完全可以。因为内插指的是把经抽取后信号的 k 轴扩展 T 倍,再插入 0 值。而原信号在插入点的值并不一定是 0,所以只有原信号在插入点的值是 0 的情况下信号经抽样后可以通过内插恢复原信号。3) 信号经抽取信息不丢失的条件是什么?答:信后经抽取信息不丢失的条件是 fs=2fm。4) 信号在抽取过程中,会出现那些误差?如何克服或减弱?答:信号在抽取过程中可能会因为抽样频率选取不合适而
24、产生混叠,从而使信息丢失。对限带连续信号可以通过提高抽样频率来避免混叠。对一般的信号可以在对信号抽样钱用模拟低通滤波器对连续信号进行铝箔后再进行抽样。这种模拟滤波器被称为抗混叠滤波器。5) 信号的抽取和内插有何应用?答:程序及运行结果设计内容(1) (2)程序和结果如下:k=0:10;f=2*k;w=linspace(-3*pi,3*pi,512);h=freqz(f,1,w);subplot(3,1,1);plot(w/pi,h);xlabel(归一化频率);ylabel(原序列);grid;ts1=2;ks1=0:10;ks1=k/ts1;fs1=2*ks1;w=linspace(-4*p
25、i,4*pi,512);h1=freqz(fs1,1,w*0.5);subplot(3,1,2);plot(w/pi,h1);xlabel(归一化频率);ylabel(整数倍抽取序列);grid;ts2=1/2;ks2=0:10;ks2=k/ts2;fs2=2*ks2;w=linspace(-3*pi,3*pi,512);h2=freqz(fs2,1,w*2);subplot(3,1,3);plot(w/pi,h2);xlabel(归一化频率);ylabel(整数倍内插序列);grid;设计内容(3)程序和结果如下:wp=0.5;ws=0.8;Ap=1;As=40;N,Wc=buttord(w
26、p,ws,Ap,As);num,den=butter(N,Wc);w=linspace(0,pi,512);h0=freqz(num,den,w);ts2=1/2;ks2=-20:20;ks2=k/ts2;fs2=2*ks2;w=linspace(0,pi,512);h2=freqz(fs2,1,w*2);h20=h0.*h2;plot(w/pi,abs(h2),w/pi,abs(h20),:);xlabel(归一化频率);ylabel(序列频谱比较);grid;信号与系统 数字信号处理系列课程设计与综合性实验实验报告班级:电子 0014 班 学号: 姓名: 得分:实验题目:窗函数的特性分析(
27、12)实验目的:分析各种窗函数的时域和频域特性,了解窗函数在信号的频谱分析和系统设计中的重要作用,学会正确和灵活使用。参考书目:数字信号处理基础 薛健 胡健 编著信号分析与处理MATLAB 语言及应用 黄文梅 熊桂林 杨勇 编著实验内容:1)分析隔窗函数的时域特性2)分析隔窗函数的频域特性3)进行分析比较4)项系列出分析窗函数的步骤5)写出实验原理实验原理及步骤实验原理:离散序列的频域表达式可以通过求 DTFT 而得到。MATLAB 工具箱中提供了h=freqz(a,b,w)函数来计算离散序列的 DTFT。其中 a 表示时域表达式中分子的系数, b 表示分母的系数,w 为频域表达式里的自变量。
28、同时, MATLAB 中还可通过 abs(h)来求幅频特性的幅度。计算对数幅度时,可直接利用公式 A=20*log10(abs(h)求得。为了便于分析,绘制幅度函数和对数幅度函数的图形时,采用归一化频率。实验步骤:根据各种窗函数的时域函数表达式,利用 stem(k,f)画出各种窗函数的时域图形。但后再利用 freqz 函数求出频谱函数,绘制幅频特性曲线。最后利用求对数幅频函数的公式求出对数幅度并绘制对数幅频特性曲线。对比分析各个图形的共同点和不同点,得出结论。实验中出现的现象,分析其原因,得出结论根据不同窗函数的对数幅频特性曲线,我们可以得出这样的结论:过渡带宽度和阻带衰减是相互矛盾的。要提高
29、阻带衰减,则必须以增加过渡带宽度为代价。而不能够既可以提高阻带衰减又可以减小过渡带宽度。对各种窗函数的对数幅频特性曲线进行分析比较,我们还得出下面的结论:窗的类型 主瓣宽度 As矩形 4/N -21汉宁 8/(N-1) -44哈明 8/(N-1) -53布莱克曼 12/(N-1) -74回答思考题1) 在信号分析中,如何选择窗函数?答:在分析信号时,由于要用有限长的 hk来逼近无限长的 hdk,最有效的办法是截断hdk,或者说是用一个有限长的窗函数 wk来截断 hdk,即 hk=hdkwk。由于窗函数幅度特性中主瓣宽度,主瓣幅度,旁瓣宽度,旁瓣幅度都和 N 有关,在选择窗函数时,根据信号频谱函
30、数的幅度特性的具体情况选择窗函数。2)在系统设计时,如何选择窗函数?答:在系统设计时,根据通阻带截频和通阻带衰减指标来选择窗函数并确定 N。附程序及运行结果。矩形窗N=31;k=0:30;h=k=0:30;subplot(3,1,1);stem(k,h);grid;title(时域);w1=linspace(-pi,pi,512);H=freqz(h,1,w);subplot(3,1,2);plot(w1/pi,H);grid;title(幅频);w=linspace(0,pi,512);A=20.*log10(abs(H);subplot(3,1,3);plot(w/pi,A);axis(0
31、 1 -150 50);grid;title(对数幅频);Hanning 窗N=31;k=0:30;h=0.5-0.5.*cos(2.*pi.*k/(N-1);subplot(3,1,1);stem(k,h);grid;title(时域 );w1=linspace(-pi,pi,512);H=freqz(h,1,w);subplot(3,1,2);plot(w1/pi,H);grid;title(幅频 );w=linspace(0,pi,512);A=20.*log10(abs(H);subplot(3,1,3);plot(w/pi,A);axis(0 1 -150 50);grid;titl
32、e(对数幅频 );Hamming 窗N=31;k=0:30;h=0.54-0.46.*cos(2.*pi.*k/(N-1);subplot(3,1,1);stem(k,h);grid;title(时域);w1=linspace(0,pi,512);H=freqz(h,1,w1);subplot(3,1,2);plot(w1/pi,H);title(幅频);w=linspace(0,pi,512);A=20.*log10(abs(H);subplot(3,1,2);plot(w/pi,A);grid;title(频域);Blackman 窗N=31;k=0:30;h=0.42-0.5.*cos(
33、2.*pi.*k/(N-1)+0.08.*cos(4.*pi.*k/(N-1);subplot(3,1,1);stem(k,h);grid;title(时域);w1=linspace(-pi,pi,512);H=freqz(h,1,w);subplot(3,1,2);plot(w1/pi,H);grid;title(幅频);w=linspace(0,pi,512);A=20.*log10(abs(H);subplot(3,1,3);plot(w/pi,A);axis(0 1 -150 50);grid;title(对数幅频);信号与系统 数字信号处理系列课程设计与综合性实验实验报告班级: 学号
34、: 姓名: 得分:实验题目: FIR 滤波器设计及应用( 13)实验目的:学习 FIR 滤波器的设计方法参考书目:吴湘淇等信号、系统与信号处理 (修订本) ,电子工业出版社,2001;实验内容:1) 分别使用矩形窗,哈明窗,汉宁窗设计一个 N=10 的 FIR 低通和高通滤波器,截频为 wc=pi/3rad.(a) 作出各滤波器的单位脉冲响应.(b) 作出各滤波器的幅频响应并比较各滤波器的通带纹波和组带纹波.(c) 当输入为 x(n)=1+2cos(pi*n)/4)=cos(n*pi/2),计算各率波器的输出并作出波形.2) l 利用频率取样法分别设计 1 型和 2 型 FIR 低通滤波器并对
35、其衰耗特性进行比较,已知 N=16,给定指标为1 k=0,1,2,3,1 型 Hd(exp(jw) )=Hd(2*pi*k/16)= 0.389 k=4 0 k=5,6,1 k=0,1,2,3,2 型 Hd(exp(jw) )=Hd(2*pi*(k+1/2)/16)= 0.389 k=4 0 k=5,6,3) 利用频率取样法设计一带通滤波器并绘出其衰耗特性,已知 N=16,给出指标0 k=0,1,7Hd(2*pi*k/16)= 0.456 k=2,6 1 k=3,4,54) 详细列出窗口法和频率取样法设计的步骤.5) 写出实验原理.实验原理及步骤1.实验步骤1) 窗口法a) 根据给出的指标 H
36、(exp(jw)作 IDTFT 求出系统的单位脉冲响应 hk.b) 把 hk平移价合适的窗,使其成为因果有限长序列.得到 hd=hk-MWn,其中M=(N-1)/2.c) 对 hd=hk-MWn 作 z 变换,得到系统响应 H(z).d) 对 H(z)求出频率相应求出频率相应 H(exp(jw),校验系统的相应,2) 频率取样法a) 根据给出的指标 H(exp(jw)作 1 型或 2 型取样,求出 Hm.b) 对 Hm作 IDFT 得到系统的单位脉冲响应 hk.c) 对 h(z)作 z 变换,得到系统响应 H(z).d) 对 H(z)求出频率相应求出频率相应 H(exp(jw),校验系统的相应
37、.实验中出现的现象,分析其原因,得出结论现象:有波形失真原因:窗口法:在加窗时对时域截短,使部分信息丢失.产生了失真.加窗时应适当选取街取长度 N,N 越长失真越小. 频率取样法:对给定指标进行抽样,丢失了部分信息.取样点越多失真越小.回答思考题1)在 FIR 窗口法设计中,为什么要采用矩形窗之外的窗函数?选用窗函数的依据是什么?答:矩形窗的阻带衰减只有 21db,为了增大阻带衰减,要采用矩形窗之外的窗函数。选窗函数的依据是:根据对过渡带宽度和租到衰减的要求。2)在频域取样设计法中,如果阻带衰减不够,采取什么措施。答:可以选择阻带衰减大的窗函数。如不莱克曼窗。3)窗口法和频域取样法的优点是什么
38、?答:频域取样法易于硬件是线,可通过加过渡带的方法来控制。窗口法是通过窗函数来控制。附程序及运行结果。1 单位脉冲响应N=64;wc=pi/3;k=0:N-1;alpha=(N-1)/2;hd=(wc/pi).*(sinc(wc/pi).*(k-alpha);w=hanning(N);h1=hd.*w;stem(k/64,h1);set(gca,ytick,0,2,4,6,8,10);set(gca,xtick,0:1:127);ylabel(hk);xlabel(k);legend(hanning 窗,hamming 窗, 矩形窗);hold on;w=hamming(N);h1=hd.*w
39、;stem(k/64,h1);hold on;w=boxcar(N);h=hd.*w;stem(k/64,h1);title(低通单位脉冲响应);N=64;wc=pi/3;k=0:N-1;alpha=(N-1)/2;hd=sinc(k-alpha)-(wc/pi)*sinc(wc*(k-alpha)/pi);w=hanning(N);h1=hd.*w;stem(k/64,h1);set(gca,ytick,0,2,4,6,8,10);set(gca,xtick,0:1:127);ylabel(hk);xlabel(k);legend(hanning 窗,hamming 窗, 矩形窗);hold
40、 on;w=hamming(N);h1=hd.*w;stem(k/64,h1);hold on;w=boxcar(N);h=hd.*w;stem(k/64,h1);title(高通单位脉冲响应);2 滤波器N=10;wc=pi/3;k=0:N-1;alpha=(N-1)/2;hd=(wc/pi)*(sinc(wc/pi)*(k-alpha);w=hanning(N);h=hd.*w;w=linspace(0,pi,512);H=freqz(h,1,w);magdb=20*log10(abs(H);plot(w/pi,magdb,:);xlabel(normalized frequency);y
41、label(Gain,db);grid;axis(0 1 -100 5);set(gca,ytick,-100 -74 -60 -44 -20 0);set(gca,xtick,0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1);hold on;N=10;w=hamming(N);h=hd.*w;w=linspace(0,pi,512);H=freqz(h,1,w);magdb=20*log10(abs(H);plot(w/pi,magdb);hold on;w=boxcar(N);h=hd.*w;w=linspace(0,pi,512);H=freqz(h,1,
42、w);magdb=20*log10(abs(H);plot(w/pi,magdb,-);title(gain respons of lowpass FIR filer);legend(hanning 窗,hamming 窗, 矩形窗);N=10;wc=pi/3;k=0:N-1;alpha=(N-1)/2;hd=sinc(k-alpha)-(wc/pi)*sinc(wc*(k-alpha)/pi);w=hanning(N);h=hd.*w;w=linspace(0,pi,512);H=freqz(h,1,w);magdb=20*log10(abs(H);plot(w/pi,magdb,:);xl
43、abel(normalized frequency);ylabel(Gain,db);grid;axis(0 1 -100 5);set(gca,ytick,-100 -74 -60 -44 -20 0);set(gca,xtick,0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1);hold on;w=hamming(N);h=hd.*w;w=linspace(0,pi,512);H=freqz(h,1,w);magdb=20*log10(abs(H);plot(w/pi,magdb,r-);hold on;w=boxcar(N);h=hd.*w;w=linsp
44、ace(0,pi,512);H=freqz(h,1,w);magdb=20*log10(abs(H);plot(w/pi,magdb);title(gain respons of highpass FIR filer);legend(hanning 窗,hamming 窗, 矩形窗);3 信号通过滤波器的响应N=128;wc=pi/3;k=0:N-1;alpha=(N-1)/2;hd=sinc(k-alpha)-(wc/pi)*sinc(wc*(k-alpha)/pi);w=hanning(N);h1=hd.*w;f=1+2*cos(k*pi/4)+cos(k*pi/2);y=filter(h
45、1,1,f);stem(k/128,y);set(gca,ytick,0,2,4,6,8,10);set(gca,xtick,0:1:127);ylabel(yk);xlabel(k);legend(hanning 窗,hamming 窗, 矩形窗);hold on;w=hamming(N);h1=hd.*w;f=1+2*cos(k*pi/4)+cos(k*pi/2);y=filter(h1,1,f);stem(k/128,y);hold on;w=boxcar(N);h1=hd.*w;f=1+2*cos(k*pi/4)+cos(k*pi/2);y=filter(h1,1,f);stem(k/
46、128,y);title(高通响应 );4 频域取样法(1)Hr=1,1,1,1,0.389,0,0,0,0,0,0,0,0.389,1,1,1;h=ifft(Hr);w=linspace(0,2*pi,512);H=freqz(h,1,w);magdb=20*log10(abs(H);plot(w/pi,magdb);xlabel(normalized frequency);ylabel(Gain,db);grid;axis(0 2 -100 5);set(gca,ytick,-100 -74 -60 -44 -20 0);set(gca,xtick,0 0.2 0.4 0.6 0.8 1,
47、1.2,1.4,1.6,1.8,2);hold on;Hr=1,1,1,1,0.389,0,0,0,0,0,0,0,0.389,1,1,1;hd=ifft(Hr);w=linspace(0,2*pi,512);H=freqz(h,1,w);magdb=20*log10(abs(H);plot(w/pi,magdb);xlabel(normalized frequency);ylabel(Gain,db);grid;axis(0 2 -100 5);set(gca,ytick,-100 -74 -60 -44 -20 0);set(gca,xtick,0 0.2 0.4 0.6 0.8 1,1.
48、2,1.4,1.6,1.8,2);hold on;(2)Hr=0,0,0.456,1,1,1,0.456,0.456,1,1,1,0.456,0,0;h=ifft(Hr);w=linspace(0,2*pi,512);H=freqz(h,1,w);magdb=20*log10(abs(H);plot(w/pi,magdb);xlabel(normalized frequency);ylabel(Gain,db);grid;axis(0 2 -100 5);set(gca,ytick,-100 -74 -60 -44 -20 0);set(gca,xtick,0 0.2 0.4 0.6 0.8 1,1.2,1.4,1.6,1.8,2);