数字信号处理实验报告 完整版
现代数字信号处理实验报告

现代数字信号处理实验报告1、估计随机信号的样本自相关序列。
先以白噪声()x n 为例。
(a) 产生零均值单位方差高斯白噪声的1000个样点。
(b) 用公式:9991ˆ()()()1000x n r k x n x n k ==-∑估计()x n 的前100个自相关序列值。
与真实的自相关序列()()x r k k δ=相比较,讨论你的估计的精确性。
(c) 将样本数据分成10段,每段100个样点,将所有子段的样本自相关的平均值作为()x n 自相关的估值,即:999001ˆ()(100)(100) , 0,1,...,991000x m n r k x n m x n k m k ===+-+=∑∑与(b)的结果相比,该估计值有什么变化?它更接近真实自相关序列()()x r k k δ=吗?(d) 再将1000点的白噪声()x n 通过滤波器11()10.9H z z-=-产生1000点的y (n ),试重复(b)的工作,估计y (n )的前100个自相关序列值,并与真实的自相关序列()y r k 相比较,讨论你的估计的精确性。
仿真结果:(a)图1.1 零均值单位方差高斯白噪声的1000个样本点分析图1.1:这1000个样本点是均值近似为0,方差为1的高斯白噪声。
(b)图1.2 ()x n的前100个自相关序列值分析上图可知:当k=0时取得峰值,且峰值大小比较接近于1,而当k ≠0时估计的自相关值在0附近有小幅度的波动,这与真实自相关序列r x (k)=δ(k)比较接近,k ≠0时估计值非常接近0,说明了估计的结果是比较精确的。
(c)图1.3基于Bartlett 法的前100个自相关序列值与(b)的结果相比,同样在k=0时达到峰值,k ≠0时0值附近上下波动;估计值的方差比较小,随着k 的增大波动幅度逐渐变小,在k 较大时它更接近真实自相关序列()()x r k k δ=。
即采用分段方法得到的自相关序列的估计值更加接近r x (k)=δ(k)。
西交大数字信号处理实验报告

数字信号处理实验报告学院:班级:姓名:学号:西安交通大学实验报告课程 数字信号处理 实验日期 年 月 日专业班号 交报告日期 年 月 日 姓名 学号 共 21 页 第 1 页 实验1 常见离散信号的MATLAB 产生和图形显示 一、实验内容1.编制程序产生上诉5种信号(长度可自行输入确定),并绘出其图形。
2.讨论复指数序列的性质。
二、实验结果及源代码1.单位抽样序列⎩⎨⎧=01)(n δ≠=n n 在MATLAB 中可以利用ZEROS()函数实现。
;1)1();,1(==x N zeros x如果)(n δ在时间轴上延迟了K 个单位,得到)(k n -δ即:⎩⎨⎧=-01)(k n δ0≠=n kn (1)单位抽样序列源程序: n1=-10; n2=10;k=0; %延时k 个单位 n=n1:n2;N=length(n);%N 为序列长度 nk=abs(k-n1)+1; x=zeros(1,N); x(nk)=1;stem(n,x,'fill');axis([n1,n2,0,1.1*max(x)]); title('单位脉冲序列'); xlabel('时间'); ylabel('幅度');实验结果:(2)延时后的单位脉冲序列源程序:n1=-10;n2=10;k=input('k='); %延时k个单位 n=n1:n2;N=length(n);%N为序列长度nk=abs(k-n1)+1;x=zeros(1,N);x(nk)=1;stem(n,x,'fill');axis([n1,n2,0,1.1*max(x)]); title('单位脉冲序列');xlabel('时间');ylabel('幅度');实验结果(延时k=5):2.单位阶跃序列⎩⎨⎧01)(n u 00<≥n n在MATLAB 中可以利用ones()函数实现。
武汉理工大学数字信号处理第一次实验报告完整答案

第一部分:例题调试(一)单位抽样序列10()(00n n n δδ =⎧⎧= ⎨⎨ ≠ ≠⎩⎩0001n=n 或n-n )=0n n代码如下:%先建立函数impseq(n1,n2,n0)function [x,n]=impseq(n1,n2,n0)n=[n1:n2];x=[(n-n0)==0];%编写主程序调用该函数[x,n]=impseq(-2,8,2);stem(n,x);title('DSP_example01单位抽样序列——徐樱笑');(二)单位阶跃序列0110()(-)000n n u n u n n n n ≥ ≥⎧⎧= = ⎨⎨ < <⎩⎩00n 或n 代码如下:%先建立函数stepseq(n1,n2,n0)function [x,n]=stepseq(n1,n2,n0)n=[n1:n2];x=[(n-n0)>=0];%编写主程序调用该函数[x,n]=stepseq(-2,8,2);stem(n,x)title('DSP_example01单位阶跃序列——徐樱笑');(三)实数指数序列x(n)=a n (运算符“.^”)代码如下:n=[0:10];x=0.9.^n;stem(n,x);title('DSP_example03实数指数序列——徐樱笑');(四)复数指数序列(0.10.3)()(1010)j n x n e n -+= -≤≤代码如下:n=[-10:10];alpha=-0.1+0.3*j;x=exp(alpha*n);real_x=real(x); image_x=imag(x);mag_x=abs(x); phase_x=angle(x);subplot(2,2,1); stem(n,real_x);subplot(2,2,2); stem(n,image_x);subplot(2,2,3); stem(n,mag_x);subplot(2,2,4); stem(n,phase_x);suptitle('DSP_example04复数指数序列——徐樱笑')(五)正、余弦序列(0()sin()m x n U n ωθ=+)代码如下:n=[0:42];x=2*cos(0.1*pi*n+pi/3);stem(n,x);title('DSP_example05正余弦序列——徐樱笑');第二部分:课后习题(一)利用zeros函数生成单位抽样序列:代码如下:n=-10:10;y=[zeros(1,10),1,zeros(1,10)];stem(n,y)axis([-10,10,0,2]);title('DSP_test01单位抽样序列——徐樱笑'); (二)利用zeros函数和ones函数生成单位阶跃序列代码如下:n=-5:10;y=[zeros(1,5),1,ones(1,10)];stem(n,y)axis([-5,10,0,2]);title('DSP_test02单位阶跃序列——徐樱笑'); (三)已知x1(n)=u(n+1) (-3<n<5); x2(n)=u(n-3) (-4<n<7)。
数字信号处理_FIRandIIR(PDF)

数字信号处理实验报告设计数字低通IIR和FIR滤波器对语音信号进行滤波处理班级:物联网1104班学号:**********姓名:***指导老师:***一、实验内容1.选择一个.wav格式的语音信号作为分析的对象,对其进行频谱分析。
2.设计FIR和IIR数字滤波器,并对带噪语音信号进行滤波,分析滤波后信号的时域和频域特征。
二、实验目的1.学会使用Matlab来分析音频信号的时域和频域特性。
2.熟悉用双线性变换法设计IIR和FIR数字滤波器的原理与方法。
3.学会设计各种IIR数字滤波器,学会根据滤波需求确定滤波器指标参数。
4.掌握IIR\FIR数字滤波器的MATLAB实现方法。
5.通过观察滤波器输入输出信号的时域波形及其频谱,建立数字滤波的概念。
三、实验原理1.IIR滤波器:利用双线性变换设计IIR滤波器(只介绍巴特沃斯数字低通滤波器的设计),首先要设计出满足指标要求的模拟滤波器的传递函数,然后由通过双线性变换可得所要设计的IIR滤波器的系统函数。
如果给定的指标为数字滤波器的指标,则首先要转换成模拟滤波器的技术指标,这里主要是边界频率的转换,对指标不作变化。
边界频率的转换关系为。
接着,按照模拟低通滤波器的技术指标根据相应设计公式求出滤波器的阶数和截止频率;根据阶数查巴特沃斯归一化低通滤波器参数表,得到归一化传输函数;最后,将代入去归一,得到实际的模拟滤波器传输函数。
之后,通过双线性变换法转换公式,得到所要设计的IIR滤波器的系统函数。
2.FIR滤波器:如果所希望的滤波器的理想频率响应函数为(e )j d H ω,则其对应的单位脉冲响应为⎰-=πππdwe e Hn h jwn jw dd )(21)(窗函数设计法的基本原理是用有限长单位脉冲响应(n)h 逼近(n)d h 。
由于(n)d h 往往是无限长序列,且是非因果的,所以用窗函数(n)w 将(n)d h 截断,并进行加权处理,得到:)()()(n w n h n h d ⋅=(n)h 就作为实际设计的FIR 数字滤波器的单位脉冲响应序列,其频率响应函数(e )j d H ω为∑-=-=10)()(N n jwnjwe n h e H式中,N为所选窗函数(n)w 的长度。
MATLAB数字信号实验报告

数字信号处理实验报告班级:09050741姓名:杨建国学号:0905074128实验一频谱分析与采样定理一、实验目的1、观察模拟信号经理想采样后的频谱变化关系。
2、验证采样定理,观察欠采样时产生的频谱混叠现象。
3、加深对DFT算法原理和基本性质的理解。
4、熟悉FFT算法原理和FFT的应用。
二、实验原理根据采样定理,对给定信号确定采样频率,观察信号的频谱。
三、实验内容和步骤1)实验内容在给定信号为:1.x(t)=cos(100*π*at)2.x(t)=exp(-at)3.x(t)=exp(-at)cos(100*π*at)其中a为实验者的学号,记录上述各信号的频谱,表明采样条件,分析比较上述信号频谱的区别。
2)实验步骤1.根据采样理论、DFT的定义、性质和用DFT作谱分析的有关内容。
2.根据FFT算法原理和基本思想。
3.确定实验给定信号的采样频率,编制对采样后信号进行频谱分析的程序四、实验过程%实验一:频谱分析与采样定理T=0.0001; %采样间隔T=0.0001F=1/T; %采样频率为F=1/TL=0.02; %记录长度L=0.02N=L/T;t=0:T:L;a=28;f1=0:F/N:F;f2=-F/2:F/N:F/2;%%%%%%%%%%%%%%%%%%%%%%%%%x1=cos(100*pi*a*t);y1=T*abs(fft(x1)); % 求复数实部与虚部的平方和的算术平方根y11=fftshift(y1);figure(1),subplot(3,1,1),plot(t,x1);title('正弦信号');subplot(3,1,2),stem(y1);title('正弦信号频谱'); subplot(3,1,3),plot(f2,y11);title('正弦信号频谱'); %%%%%%%%%%%%%%%%%%%%%x2=exp(-a*t);y2=T*abs(fft(x2));y21=fftshift(y2);figure(2),subplot(3,1,1),stem(t,x2);title('指数信号');subplot(3,1,2),stem(f1,y2);title('指数信号频谱'); subplot(3,1,3),plot(f2,y21);title('指数信号频谱'); %%%%%%%%%%%%%%%%%%%%%x3=x1.*x2;y3=T*abs(fft(x3));y31=fftshift(y3);figure(3),subplot(3,1,1),stem(t,x3);title('两信号相乘'); subplot(3,1,2),stem(f1,y3);title('两信号相乘频谱'); subplot(3,1,3),plot(f2,y31);title('两信号相乘频谱');正弦信号频谱:指数信号频谱:两信号相乘频谱:五、实验结果及分析奈奎斯特抽样定理为抽样频率必须大于或等于信号频谱最高频率的2倍,即h s 2Ω≥Ω。
数字信号处理高西全实验报告三

数字信号处理高西全实验报告三选择FFT的变换区间N为8和16 两种情况进行频谱分析^p 。
分别打印其幅频特性曲线。
并进行对比、分析^p 和讨论。
(2)对以下周期序列进行谱分析^p 。
选择FFT的变换区间N为8和16 两种情况分别对以上序列进行频谱分析^p 。
分别打印其幅频特性曲线。
并进行对比、分析^p 和讨论。
(3)对模拟周期信号进行谱分析^p选择采样频率,变换区间N=16,32,64 三种情况进行谱分析^p 。
分别打印其幅频特性,并进行分析^p 和讨论。
四、程序码与运行结果(1) 实验程序:1n=[ones(1,4)];M=8;a=1:(M/2); b=(M/2):-1:1; 2n=[a,b];3n=[b,a];1k8=fft(1n,8);1k16=fft(1n,16);2k8=fft(2n,8);2k16=fft(2n,16);3k8=fft(3n,8);3k16=fft(3n,16);以下绘制幅频特性曲线n=0:length(1k8)-1;subplot(3,2,1);stem(n,abs(1k8),#;.#;);label({#;ω/π#;;#;8点DFT[1(n)]#;});ylabel(#;幅度#;);n=0:length(1k16)-1;subplot(3,2,2);stem(n,abs(1k16),#;.#;);label({#;ω/π#;;#;16点DFT[1(n)]#;});ylabel(#;幅度#;); n=0:length(2k8)-1;subplot(3,2,3);stem(n,abs(2k8),#;.#;);label({#;ω/π#;;#; 8点DFT[2(n)]#;});ylabel(#;幅度#;); n=0:length(2k16)-1;subplot(3,2,4);stem(n,abs(2k16),#;.#;);label({#;ω/π#;;#;16点DFT[2(n)]#;});ylabel(#;幅度#;); n=0:length(3k8)-1;subplot(3,2,5);stem(n,abs(3k8),#;.#;);l abel({#;ω/π#;;#; 8点DFT[3(n)]#;});ylabel(#;幅度#;); n=0:length(3k16)-1;subplot(3,2,6);stem(n,abs(3k16),#;.#;);label({#;ω/π#;;#;16点DFT[3(n)]#;});ylabel(#;幅度#;); 图形:(2)实验程序:n=0:7;4n=cos(pi/4n);4k8=fft(4n,8);subplot(2,2,1);stem(2n/8,abs(4k8),#;.#;);label({#;ω/π#;;#;8点DFT[4(n)]#;});ylabel(#;幅度#;); 5n=cos(pi/4n)+cos(pi/8n);5k8=fft(5n,8);subplot(2,2,2);stem(2n/8,abs(5k8),#;.#;);label({#;ω/π#;;#;8点DFT[5(n)]#;});ylabel(#;幅度#;); n=0:15;4n=cos(pi/4n);5n=cos(pi/4n)+cos(pi/8n);4k16=fft(4n,16);subplot(2,2,3);stem(2n/16,abs(4k16),#;.#;);label({#;ω/π#;;#;16点DFT[4(n)]#;});ylabel(#;幅度#;); 5k16=fft(5n,16);subplot(2,2,4);stem(2n/16,abs(5k16),#;.#;);label({#;ω/π#;;#;16点DFT[5(n)]#;});ylabel(#;幅度#;); 图形:(3)实验代码:Fs=64;T=1/Fs;N=16;n=0:N-1;6nT=cos(8pinT)+cos(16pinT)+cos(20pinT);6k16=fft(6nT);6k16=fftshift(6k16);Tp=NT;F=1/Tp;k=-N/2:N/2-1;fk=kF;subplot(3,1,1);stem(fk,abs(6k16),#;.#;);label({#;f(Hz)#;;#;16点DFT[6(nT)]#;});ylabel(#;幅度#;); N=32;n=0:N-1;6nT=cos(8pinT)+cos(16pinT)+cos(20pinT);6k32=fft(6nT,32);6k32=fftshift(6k32);Tp=NT;F=1/Tp;k=-N/2:N/2-1;fk=kF;subplot(3,1,2);stem(fk,abs(6k32),#;.#;);label({#;f(Hz)#;;#;32点DFT[6(nT)]#;});ylabel(#;幅度#;); N=64;n=0:N-1;6nT=cos(8pinT)+cos(16pinT)+cos(20pinT);6k64=fft(6nT,64);6k64=fftshift(6k64);Tp=NT;F=1/Tp;k=-N/2:N/2-1;fk=kF;subplot(3,1,3);stem(fk,abs(6k64),#;.#;);label({#;f(Hz)#;;#;64点DFT[6(nT)]#;});ylabel(#;幅度#;);图形:五、实验总结1.结论用DFT对信号进行谱分析^p 时,重点关注频谱分辨率和分析^p 误差,频谱分辨率F=1/Tp=Fs/N,可以依据此等式来选择FFT的变换区间N,而误差主要来自于用FFT作频谱分析^p 时,得到的是离散谱,而当信号是非周期信号时,应该得到连续谱,只有当N较大时,用FFT做出来的离散谱才接近于连续谱,因此N要适当选择大一些。
数字信号处理实验报告1
《数字信号处理》实验报告实验一:数字低通、高通滤波器实验实验二:数字带通、带阻滤波器实验系别:信息科学与技术系专业班级:电子信息工程0902班学生姓名:王俊知(053)同组学生:成绩:指导教师:刘海龙(实验时间:20年月日——20年月日)华中科技大学武昌分校实验一数字低通、高通滤波器实验1、实验目的使学生了解和熟悉软件Matlab的使用,了解数字低通、高通滤波器零极点的作用及数字低通、高通滤波器的幅频特性和相频特性。
使学生熟悉整数型滤波器的设计。
2、实验内容与步骤1、在计算机上运行Matlab软件,根据滤波器的参数,用Matlab软件设计出数字低通、高通滤波器、画出数字低通、高通滤波器的幅频特性和相频特性的程序,或按照范例程序进行修改,运行程序,观察滤波器的零极点分布图、幅频特性和相频特性图。
2、改变滤波器的零极点分布,再运行程序,观察幅频特性和相频特性的不同,滤波器的通带有什么改变。
3、再次修改程序,输入数字信号,使其通过滤波器,并画出输入、输出滤波器的数字信号波形,运行程序。
观看输入、输出滤波器的数字信号波形,仔细观察其区别。
3、实验设备1、实验场所:信息科学与技术系实验室机房。
2、硬件设备:计算机若干(由学生人数定)。
3、实验软件:Matlab。
整系数低通滤波器程序如下:clear all;clc;close all;m=10;for i=1:m+1if i==1B(i)=1;elseif i==m+1B(i)=-1;else B(i)=0;endendendA=[1,-1];N=8192;[H,f]=freqz(B,A,N);plot(f*25/pi,abs(H));grid;figure,plot(f*25/pi,angle(H));grid;figure,zplane(B,A);k=0:N-1;f=2*k/N;load('C:\MATLAB7\work\RawData.mat');x=rawdata(1,1:N);w=filter(B,A,x);figure;plot(x);title('输入信号');figure;plot(w);title('输出信号');滤波器的幅频特性和相频特性曲线、零极点分布、输入、输出滤波器的数字信号波形图:整系数高通滤波器程序如下:clear all;clc;close all;m=10;for i=1:m+1if i==1B(i)=1;elseif i==m+1B(i)=-1;else B(i)=0;endendendA=[1,1];N=8192;[H,f]=freqz(B,A,N);plot(f*25/pi,abs(H));grid;figure,plot(f*25/pi,angle(H));grid;figure,zplane(B,A);k=0:N-1;f=2*k/N;load('C:\MATLAB7\work\RawData.mat');x=rawdata(1,1:N);w=filter(B,A,x);figure;plot(x);title('输入信号');figure;plot(w);title('输出信号');滤波器的幅频特性和相频特性曲线、零极点分布、输入、输出滤波器的数字信号波形图:改变参数clear all;clc;close all;m=11;for i=1:m+1if i==1B(i)=1;elseif i==m+1B(i)=1;else B(i)=0;endendendA=[1,1];N=8192;[H,f]=freqz(B,A,N);plot(f*25/pi,abs(H));grid;figure,plot(f*25/pi,angle(H));grid; figure,zplane(B,A);k=0:N-1;f=2*k/N;load('C:\MATLAB7\work\RawData.mat'); x=rawdata(1,1:N);w=filter(B,A,x);figure;plot(x);title('输入信号'); figure;plot(w);title('输出信号');正负120度零点抵消程序如下:clear all;clc;close all;m=24;for i=1:m+1if i==1B(i)=1;elseif i==m+1B(i)=-1;else B(i)=0;endendendA=[1,1,1];N=8192;[H,f]=freqz(B,A,N);plot(f*25/pi,abs(H));grid;figure,plot(f*25/pi,angle(H));grid;figure,zplane(B,A);k=0:N-1;f=2*k/N;load('C:\MATLAB7\work\RawData.mat');x=rawdata(1,1:N);w=filter(B,A,x);figure;plot(x);title('输入信号');figure;plot(w);title('输出信号');滤波器的幅频特性和相频特性曲线、零极点分布、输入、输出滤波器的数字信号波形图:正负60度零点抵消程序如下:clear all;clc;close all;m=24;for i=1:m+1if i==1B(i)=1;elseif i==m+1B(i)=-1;else B(i)=0;endendendA=[1,-1,1];N=8192;[H,f]=freqz(B,A,N);plot(f*25/pi,abs(H));grid;figure,plot(f*25/pi,angle(H));grid;figure,zplane(B,A);k=0:N-1;f=2*k/N;load('C:\MATLAB7\work\RawData.mat');x=rawdata(1,1:N);w=filter(B,A,x);figure;plot(x);title('输入信号');figure;plot(w);title('输出信号');滤波器的幅频特性和相频特性曲线、零极点分布、输入、输出滤波器的数字信号波形图:实验二数字带通、带阻滤波器实验1、实验目的使学生了解数字带通、带阻滤波器设计原理及数字带通、带阻滤波器的幅频特性和相频特性。
信号处理实验报告小结(3篇)
第1篇一、实验背景信号处理是电子工程、通信工程、自动控制等领域的基础课程。
通过信号处理实验,可以使学生深入理解信号处理的基本原理和方法,提高实际操作能力和问题解决能力。
本次实验旨在让学生熟悉信号处理的基本操作,掌握信号的时域分析、频域分析、滤波技术以及信号恢复方法。
二、实验目的1. 熟悉信号处理软件(如MATLAB)的使用方法;2. 掌握信号的时域分析、频域分析、滤波技术以及信号恢复方法;3. 培养学生分析问题和解决问题的能力。
三、实验内容1. 信号时域分析(1)信号的基本运算:信号的加减、乘除、微分、积分等;(2)信号的波形显示:使用MATLAB绘制信号的时域波形;(3)信号的频谱分析:使用MATLAB绘制信号的频谱图。
2. 信号频域分析(1)信号的快速傅里叶变换(FFT):使用MATLAB实现信号的FFT变换;(2)信号的频谱分析:使用MATLAB绘制信号的频谱图;(3)信号的频谱滤波:使用MATLAB实现信号的频谱滤波。
3. 信号滤波技术(1)低通滤波器:使用MATLAB实现低通滤波器的设计和实现;(2)高通滤波器:使用MATLAB实现高通滤波器的设计和实现;(3)带通滤波器:使用MATLAB实现带通滤波器的设计和实现;(4)滤波器性能分析:分析滤波器的频率响应、幅频特性、相频特性等。
4. 信号恢复方法(1)信号重建:使用MATLAB实现信号的重建;(2)信号压缩:使用MATLAB实现信号的压缩;(3)信号恢复:使用MATLAB实现信号的恢复。
四、实验结果与分析1. 信号时域分析通过实验,我们成功绘制了信号的时域波形,分析了信号的基本运算和波形变化。
同时,我们还对信号的频谱进行了分析,了解了信号的频率成分。
2. 信号频域分析通过FFT变换,我们成功实现了信号的频谱分析,绘制了信号的频谱图。
实验结果表明,信号的频谱分布与信号的时域波形密切相关。
3. 信号滤波技术通过设计低通、高通、带通滤波器,我们实现了信号的滤波。
(完整word版)数字信号课程设计实验报告-(2)(word文档良心出品)
题目一: 采样定理的验证1.课程设计目的及要求:1).掌握利用MATLAB分析系统频率响应的方法, 增加对仿真软件MATLAB的感性认识, 学会该软件的操作和使用方法。
2). 掌握利用MATLAB实现连续信号采用与重构的方法, 加深理解采样与重构的概念。
.).初步掌握线性系统的设计方法, 培养独立工作能力。
2.4).学习MATLAB中信号表示的基本方法及绘图函数的调用, 实现对常用连续时间信号的可视化表示, 加深对各种电信号的理解。
3.5).验证信号与系统的基本概念、基本理论,掌握信号与系统的分析方法。
4.6).加深对采样定理的理解和掌握,以及对信号恢复的必要性;掌握对连续信号在时域的采样与重构的方法。
详细设计过程及调试结果:1).设, 利用filter函数求出的源程序:n=0:49;xn=0.8.^nsubplot(1,2,1);stem(n,xn,'.');axis([0 49 0 1]);title('输入xn图');xlabel('n');ylabel('xn');grid on;B=1;A=[1,-0.8];yn=filter(B,A,xn);n=0:length(yn)-1;subplot(1,2,2);stem(n,yn,'.');axis([0 49 0 2.5]); title('输出yn图');xlabel('n');ylabel('yn');grid on; 本题验结果及分析:2): 模拟信号, 间隔采样得到:a.每一个画出的源程序:t=0:0.01:1;T1=0:0.01:1;T2=0:0.05:1;T3=0:0.1:1;xt=sin(20*pi*t);xn1=sin(20*pi*T1);xn2=sin(20*pi*T2);xn3=sin(20*pi*T3);subplot(4,1,1);plot(t,xt);title('模拟信号xt图');xlabel('t');ylabel('xt');grid on;subplot(4,1,2);stem(T1,xn1,'.');title('0.01s采样图');xlabel('n');ylabel('xn1');grid on;subplot(4,1,3);stem(T2,xn2,'.');axis([0 1 -1 1]);title('0.05s采样图');xlabel('n');ylabel('xn2');grid on;subplot(4,1,4);stem(T3,xn3,'.');axis([0 1 -1 1]);title('0.1s采样图');xlabel('n');ylabel('xn3');grid on;调试结果分析:b.采用内插从样本重建模拟信号的源程序:t=0:0.01:1;T0=0.1;xt=sin(20*pi*t);T1=0.01;n1=0:100;T2=0.05;n2=0:20;T3=0.1;n3=0:10;xt=sin(20*pi*t);subplot(4,1,1);plot(t,xt);title('原信号xt模拟图');xlabel('t');ylabel('xt');grid on; xn1=sin(20*pi*n1*T1);xn2=sin(20*pi*n2*T2);xn3=sin(20*pi*n3*T3);t1=0:T1:1;t2=0:T2:1;t3=0:T3:1;tn1=ones(length(n1),1)*t1-n1'*T1*ones(1,length(t1));tn2=ones(length(n2),1)*t2-n2'*T2*ones(1,length(t2));tn3=ones(length(n3),1)*t3-n3'*T3*ones(1,length(t3));yt1=xn1*sinc(tn1*pi/T1);subplot(4,1,2);plot(t1,yt1);axis([ 0 1 -1 1]); title('sinc内插0.01恢复的xt1图');xlabel('n');ylabel('xt1');grid on; yt2=xn2*sinc(tn2*pi/T2);subplot(4,1,3);plot(t2,yt2);axis([ 0 1 -1 1]); title('sinc内插0.05恢复的xt2图');xlabel('n');ylabel('xt2');grid on; yt3=xn3*sinc(tn3*pi/T3);subplot(4,1,4);plot(t3,yt3);axis([ 0 1 -1 1]); title('sinc内插0.1恢复的xt3图');xlabel('n');ylabel('xt3');grid on; 调试结果分析:c.采用三次样条内插从样本重建模拟信号源程序: t=0:0.01:1;xt=sin(20*pi*t);T1=0.01;n1=0:100;T2=0.05;n2=0:20;T3=0.1;n3=0:10;T1=0:T1:1;T2=0:T2:1;T3=0:T3:1;xt=sin(20*pi*t);xn1=sin(20*pi*T1);xn2=sin(20*pi*T2);xn3=sin(20*pi*T3);yt1=spline(T1,xn1,t);yt2=spline(T2,xn2,t);yt3=spline(T3,xn3,t);subplot(4,1,1);plot(t,xt);title('原信号xt模拟图');xlabel('t');ylabel('xt');grid on;subplot(4,1,2);plot(t,yt1);axis([ 0 1 -1 1]);title('三次样条0.01恢复的xt1图');xlabel('n');ylabel('xt1');grid on; subplot(4,1,3);plot(t,yt2);axis([ 0 1 -1 1]);title('三次样条0.05恢复的xt2图');xlabel('n');ylabel('xt2');grid on; subplot(4,1,4);plot(t,yt3);axis([ 0 1 -1 1]);title('三次样条0.1恢复的xt3图');xlabel('n');ylabel('xt3');grid on; 调试结果分析:总结体会:连续信号是指自变量的取值范围是连续的, 且对于一切自变量的取值, 除了有若干个不连续点以外, 信号都有确定的值与之对应。
数字信号处理实验报告五--数字滤波器设计与仿真
实验五 数字滤波器设计及仿真实验一、实验目的(1)熟悉用数字滤波器滤波器设计的原理与方法;(2)学会调用MATLAB 信号处理工具箱中滤波器设计函数(或滤波器设计分析工具FDATOOL )设计各种IIR 数字滤波器,学会根据滤波需求确定滤波器指标参数。
(3)掌握数字滤波器的MATLAB 实现方法。
(3)通过观察滤波器输入输出信号的时域波形及其频谱,建立数字滤波的概念。
二、实验原理与方法 三、实验内容及步骤(1)调用信号产生函数mstg 产生由三路抑制载波调幅信号相加构成的复合信号st ,该函数还会自动绘图显示st 的时域波形和幅频特性曲线,如图10.4.1所示。
由图可见,三路信号时域混叠无法在时域分离。
但频域是分离的,所以可以通过滤波的方法在频域分离,这就是本实验的目的。
图10.4.1三路调幅信号st 的时域波形和幅频特性曲线(2)要求将st 中三路调幅信号分离,通过观察st 的幅频特性曲线,分别确定可以分0.0020.0040.0060.0080.010.0120.0140.0160.0180.02-10123t/ss (t )(a) s(t)的波形(b) s(t)的频谱f/Hz幅度离st 中三路抑制载波单频调幅信号的三个滤波器(低通滤波器、带通滤波器、高通滤波器)的通带截止频率和阻带截止频率。
要求滤波器的通带最大衰减为0.1dB,阻带最小衰减为60dB 。
提示:抑制载波单频调幅信号的数学表示式为0001()cos(2)cos(2)[cos(2())cos(2())]2c c c s t f t f t f f t f f t ππππ==-++其中,cos(2)c f t π称为载波,f c 为载波频率,0cos(2)f t π称为单频调制信号,f 0为调制正弦波信号频率,且满足0c f f >。
由上式可见,所谓抑制载波单频调幅信号,就是2个正弦信号相乘,它有2个频率成分:和频0c f f +和差频0c f f -,这2个频率成分关于载波频率f c 对称。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 实验1 利用DFT分析信号频谱 一、实验目的 1.加深对DFT原理的理解。 2.应用DFT分析信号的频谱。 3.深刻理解利用DFT分析信号频谱的原理,分析实现过程中出现的现象及解决方法。
二、实验设备与环境 计算机、MATLAB软件环境
三、实验基础理论 1.DFT与DTFT的关系 有限长序列𝑥(𝑛)(0≤𝑛≤𝑁−1)的离散时间傅里叶变换𝑋(𝑒𝑗𝜔)在频率区间
(0≤𝜔≤2𝜋)的N个等间隔分布的点𝑘𝜔=2𝜋𝑘/𝑁(0≤𝑘≤𝑁−1)上的N个取样值可以由下式表示: 212/0()|()()01NjknjNkNkXexneXkkN
由上式可知,序列𝑥(𝑛)的N点DFT 𝑋(𝑘),实际上就是𝑥(𝑛)序列的DTFT在N个等间隔频率点𝑘𝜔=2𝜋𝑘/𝑁(0≤𝑘≤𝑁−1)上样本𝑋(𝑘)。 2.利用DFT求DTFT 方法1:由恢复出的方法如下:
由图2.1所示流程可知: 101()()()NjjnknjnNnnkXexneXkWeN
由上式可以得到:
IDFT DTFT 𝑋(𝑒𝑗𝜔) 2
12()()()NjkkXeXkN 其中为内插函数 12sin(/2)()sin(/2)NjNxeN
方法2:实际在MATLAB计算中,上述插值运算不见得是最好的办法。由于DFT是DTFT的取样值,其相邻两个频率样本点的间距为2π/N,所以如果我们增加数据的长度N,使得到的DFT谱线就更加精细,其包络就越接近DTFT的结果,这样就可以利用DFT计算DTFT。如果没有更多的数据,可以通过补零来增加数据长度。 3.利用DFT分析连续信号的频谱 采用计算机分析连续时间信号的频谱,第一步就是把连续信号离散化,这里需要进行两个操作:一是采样,二是截断。 对于连续时间非周期信号,按采样间隔T进行采样,阶段长度M,那么: 10()()()MjtjnTaaanXjxtedtTxnTe
对进行N点频域采样,得到 2120()|()()MjknNaaMknNTXjTxnTeTXk
因此,可以将利用DFT分析连续非周期信号频谱的步骤归纳如下: (1)确定时域采样间隔T,得到离散序列 (2)确定截取长度M,得到M点离散序列,这里为窗函数。 (3)确定频域采样点数N,要求N≥M。 (4)利用FFT计算离散序列的N点DFT,得到. (5)根据上式由计算采样点的近似值。 采用上述方法计算信号的频谱需要注意如下三个问题: 3
(1)频谱混叠。如果不满足采样定理的条件,频谱会出现混叠误差。对于频谱无限宽的信号,应考虑覆盖大部分主要频率分量的范围。 (2)栅栏效应和频谱分辨率。使用DFT计算频谱,得到的结果只是N个频谱样本值,样本值之间的频谱是未知的,像通过一个栅栏观察频谱,称为“栅栏效应”。频谱分辨率与记录长度成反比,要提高频谱分辨率,就要增加记录时间。 (3)频谱泄露。对信号截断会把窗函数的频谱引入信号频谱,造成频谱泄露。解决这个问题的主要办法是采用旁瓣小的窗函数,频谱泄露和窗函数均会引起误差。 因此,要合理选取采样间隔和截取长度,必要时还需考虑加适当的窗。 对于连续时间周期信号,我们在采用计算机进行计算时,也总是要进行截断,序列总是有限长的,仍然可以采用上述方法近似计算。 4.可能用到的MATLAB函数与代码 实验中DFT运算可采用MATLAB中提供的函数fft来实现。 DTFT可采用MATLAB矩阵运算的方法进行计算,如下式所示:
NNjnjnjnNnnnnjnjeeenxnxnxenxeX211.,,,)(21
四、实验内容 1、已知}1,1,1,2{)(nx,完成如下要求: (1)计算其DTFT,并画出,区间的波形。 (2)计算4点DFT,并把结果显示在(1)所画的图形中。 (3)对x(n)补零,计算64点DFT,并显示结果。 (4) 根据实验结果,分析是否可以由DFT计算DTFT,如果可以,如何实现。
解:(1)计算其DTFT,并画出,区间的波形。 >> n=0:3; >> x=[2 -1 1 1]; >> w=-pi:0.01*pi:pi; >> X=x*exp(-j*n'*w); >> subplot(211); 4
>> plot(w,abs(X)); >> xlabel('\Omega/\pi'); >> title('Magnitude'); >> axis tight; >> subplot(212); >> plot(w,angle(X)/pi); >> xlabel('\Omega/\pi'); >> title('Phase'); >> axis tight;
(2)计算4点DFT,并把结果显示在(1)所画的图形中。 >> Xk=fft(x); >> subplot(211); >> hold on; >> stem(n,abs(Xk),'filled'); >> plot(w,abs(X)); >> axis tight; >> xlabel('\Omega/\pi'); >> title('Magnitude'); >> subplot(212); >> hold on; >> plot(w,angle(X)/pi); >> stem(n,angle(Xk),'filled'); >> axis tight; >> xlabel('\Omega/\pi');
-3-2-10123123/
Magnitude
-3-2-10123-0.500.5/Phase5
>> title('Phase'); 运行结果如下:
(3)对x(n)补零,计算64点DFT,并显示结果。 >> x=[2 -1 1 1 zeros(1,60)]; >> n=0:63; >> Xk=fft(x); >> subplot(211); >> stem(n,abs(Xk),'filled'); >> subplot(212); >> stem(n,angle(Xk),'filled');
-3-2-101230123/
Magnitude
-3-2-10123-1-0.500.51/Phase6 (4) 根据实验结果,分析是否可以由DFT计算DTFT,如果可以,如何实现。 可以由 DFT 计算 DTFT,序列补零后,长度越长,DFT 点越多,其 DFT 越逼近 DTFT连续波形。所以令序列补零至足够长时其 DFT 序列的波形与 DTFT的波形在一定的分辨率下已经相同。
2、考察序列 x(n)=cos(0.48πn)+cos(0.52πn) (1)0<=n<=10时,用DFT估计x(n)的频谱;将x(n)补零加长到长度为100点序列用DFT估计x(n)的频谱,要求画出相应波形。 (2)0<=n<=100时,用DFT估计x(n)的频谱。并画出波形。 (3)根据实验结果,分析怎样提高频谱分辨率 解:(1)0<=n<=10时,用DFT估计x(n)的频谱;将x(n)补零加长到长度为100点序列用DFT估计x(n)的频谱,要求画出相应波形。
>> n=0:10; >> x=cos(0.48*pi.*n)+cos(0.52*pi.*n); >> Xk=fft(x); >> subplot(211);
01020304050607001234010203040506070-2-10127 >> stem(n,Xk,'filled'); >> x=[cos(0.48*pi.*n)+cos(0.52*pi.*n) zeros(1,89)]; >> Xk=fft(x); >> subplot(212); >> stem(Xk,'filled');
012345678910-202468
0102030405060708090100-10-50510