1、测试信号实验报告测试信号实验报告测试信号实验报告实验一一 实验目的1. 在理论学习的基础上,通过本次试验,加深对快速傅里叶变换的理解,熟悉FFT算法及其程序的编写。2.应用FFT对信号进行频谱分析。3了解应用FFT进行信号频谱分析过程中可能出现的问题,以便今后能在实际中应用FFT。二 实验内容1用Matlab产生正弦波,矩形波,以及白噪声信号,并显示各自时域波形图2进行FFT变换,显示各自频谱图,其中采样率,频率、数据长度自选3做出上述三种信号的均方根图谱,功率图谱,以及对数均方根图谱4用IFFT傅立叶反变换恢复信号,并显示恢复的正弦信号时域波形图源程序三 实验原理 在各种信号序列中,有限长序
2、列占有重要地位。对有限长序列,可以利用离散傅里叶变换(DFT)进行分析。DFT不但可以很好地反映序列的频谱特性,而且易于用快速算法(FFT)在计算机上实现。 有限长序列的DFT是其Z变换在单位圆上的等距采样,或者说是序列傅里叶变换的等距采样,因此可以用于序列的谱分析。FFT是DFT的一种快速算法,它是对变换式进行一次次分解,使其成为若干小点数的组合,从而减少运算量。常用的FFT是以2为基数的,其长度N。它的效率高,程序简单,使用方便。当要变换的序列长度不等于2的整数次方时,为了使用以2为基数的FFT,可以用末尾补零的方法,使其长度延长至2的整数次方。 在MATLAB中,可用函数FFT来实现,其
3、调用格式为y=FFT(x)或y=FFT(x,N) y=FFT(x)为利用FFT算法计算矢量的离散傅里叶变换,当x为矩阵时,y为矩阵x每一列的FFT。当x的长度为2的整数次方时,则FFT函数采用基2的算法,否则采用稍慢的混合基算法。 y=FFT(x,N)采用N点FFT。当x的长度小于N时,FFT函数在x的尾部补零,以构成N点数据;当x的长度大于N时,FFT会截断序列x。四 试验程序%*1.正弦波*%fs=100;%设定采样频率N=128;n=0:N-1;t=n/fs;f0=10; x=sin(2*pi*f0*t);figure(1);subplot(231);plot(t,x);xlabel(t
4、);ylabel(y);title(正弦信号y=2*pi*10t时域波形);grid;%进行FFT变换并做频谱图y=fft(x,N);%进行fft变换mag=abs(y);%求幅值f=(0:length(y)-1)*fs/length(y);figure(1);subplot(232);plot(f,mag);axis(0,100,0,80);xlabel(频率(Hz);ylabel(幅值);title(正弦信号y=2*pi*10t幅频谱图N=128);grid;sq=abs(y);figure(1);subplot(233);plot(f,sq);xlabel(频率(Hz);ylabel(均
5、方根谱);title(正弦信号y=2*pi*10t均方根谱);grid;power=sq.2;figure(1);subplot(234);plot(f,power);xlabel(频率(Hz);ylabel(功率谱);title(正弦信号y=2*pi*10t功率谱);grid;ln=log(sq);figure(1);subplot(235);plot(f,ln);xlabel(频率(Hz);ylabel(对数谱);title(正弦信号y=2*pi*10t对数谱);grid;xifft=ifft(y);magx=real(xifft);ti=0:length(xifft)-1/fs;figu
6、re(1);subplot(236);plot(ti,magx);xlabel(t);ylabel(y);title(通过IFFT转换的正弦信号波形);grid;%*2.矩形波*%fs=10;%设定采样频率t=-5:0.1:5;x=rectpuls(t,2);x=x(1:99);figure(2);subplot(231);plot(t(1:99),x);%作矩形波的时域波形xlabel(t);ylabel(y);title(矩形波时域波形);grid;%进行FFT变换并做频谱图y=fft(x);%进行fft变换mag=abs(y);%求幅值f=(0:length(y)-1)*fs/lengt
7、h(y);%进行对应的频率转换figure(2);subplot(232);plot(f,mag);%做频谱图xlabel(频率(Hz);ylabel(幅值);title(矩形波幅频谱图);grid;%求均方根谱sq=abs(y);figure(2);subplot(233);plot(f,sq);xlabel(频率(Hz);ylabel(均方根谱);title(矩形波均方根谱);grid;%求功率谱power=sq.2;figure(2);subplot(234);plot(f,power);xlabel(频率(Hz);ylabel(功率谱);title(矩形波功率谱);grid;%求对数谱
8、ln=log(sq);figure(2);subplot(235);plot(f,ln);xlabel(频率(Hz);ylabel(对数谱);title(矩形波对数谱);grid;%用IFFT恢复原始信号xifft=ifft(y);magx=real(xifft);ti=0:length(xifft)-1/fs;figure(2);subplot(236);plot(ti,magx);xlabel(t);ylabel(y);title(通过IFFT转换的矩形波波形);grid;%*3.白噪声*%fs=10;%设定采样频率t=-5:0.1:5;x=zeros(1,100);x(50)=10000
9、0;figure(3);subplot(231);plot(t(1:100),x);%作白噪声的时域波形xlabel(t);ylabel(y);title(白噪声时域波形);grid;%进行FFT变换并做频谱图y=fft(x);%进行fft变换mag=abs(y);%求幅值f=(0:length(y)-1)*fs/length(y);%进行对应的频率转换figure(3);subplot(232);plot(f,mag);%做频谱图xlabel(频率(Hz);ylabel(幅值);title(白噪声幅频谱图);grid;%求均方根谱sq=abs(y);figure(3);subplot(233
10、);plot(f,sq);xlabel(频率(Hz);ylabel(均方根谱);title(白噪声均方根谱);grid;%求功率谱power=sq.2;figure(3);subplot(234);plot(f,power);xlabel(频率(Hz);ylabel(功率谱);title(白噪声功率谱);grid;%求对数谱ln=log(sq);figure(3);subplot(235);plot(f,ln);xlabel(频率(Hz);ylabel(对数谱);title(白噪声对数谱);grid;%用IFFT恢复原始信号xifft=ifft(y);magx=real(xifft);ti=0
11、:length(xifft)-1/fs;figure(3);subplot(236);plot(ti,magx);xlabel(t);ylabel(y);title(通过IFFT转换的白噪声波形);grid; 五 实验结果图正弦信号频谱图 图1正弦信号的时域波形 图2正弦信号的幅频谱图 图3正弦信号的均方根谱 图4正弦信号的功率谱 图5正弦信号的对数谱 图6 用IFFT转换的正弦信号波形矩形波图1矩形波的时域波形 图2矩形波的幅频谱图 图3矩形波的均方根谱 图4矩形波的功率谱 图5矩形波的对数谱 图6 用IFFT转换的矩形波波形白噪声图1白噪声的时域波形 图2白噪声的幅频谱图 图3白噪声的均方
12、根谱 图4白噪声的功率谱 图5白噪声的对数谱 图6 用IFFT转换的白噪声波形六 实验感想通过这一次Matlab的实验,让我对Matlab在系统设计与处理系统中的应用有了一定的了解,使我意识到实践是非常重要的,也让我我对FFT与IFFT有了进一步的理解,并了解到正弦波,矩形波和白噪声的各种图谱。通过改变三个程序的采样频率,输入波形的种类(正弦波,矩形,白噪声),频率,数据长度等等数据,输出了要求的不同图形,可以更直观的知道FFT算法的实用性,也对其算法进行了验证。而自从快速傅里叶变换(FFT)出现以后,频谱分析技术便很快的发展起来,而且越来越贴近我们的生活生产,如医疗器械,无线电通信等等,但是
13、我们并未对频谱分析技术的研究达到最高的层次,未来发展具有很广阔的的空间。对于我们测控技术与仪器专业来说,对信号的处理和分析在今后的学习,生活甚至是工作中都占有很重要的一部分,所以,在以后的学习中,我们更应该加强这一方面的专业知识,拓宽我们的视野,为以后的更好的生活工作努力。实验二 利用冲激响应不变法设计巴特沃斯高通数字滤波器一、实验目的1、掌握不同函数对傅里叶变换程序的编写。2、联系Matlab编程。3、熟悉巴特沃斯高通数字滤波器。二、实验内容1、利用Matlab软件显示巴特沃斯数字滤波器的图谱。2、分析图谱,并从图中得到相关数据。三、实验原理设计IIR高通数字滤波器时,有两种方法。一是先设计
14、一个原型低通模拟滤波器,然后通过模拟滤波器的频率变化,转换成高通模拟滤波器。另一种方法是先设计一个低通模拟原型,然后得到低通数字滤波器,再经频率变化,转换成高通数字滤波器。四、试验程序Fs=5000;%抽样频率wp=2000*2/Fs;ws=1500*2/Fs;Rp=1;%通带波纹Rs=20;%阻带衰减Nn=128;%滤波器的序列点数N,Wn=buttord(wp,ws,Rp,Rs);%计算滤波器的阶次和截止频率 Wn为滤波器的幅度响应下降至0.707处的频率 n为阶次 b,a=butter(N,Wn,high);%设计截止频率为Wn的n阶高通巴特沃斯数字滤波器 b,a为滤波器系统函数表达式中的系数 high表示滤波器为高通滤波器freqz(b,a,Nn,Fs)%数字滤波器的频率响应五、实验结果图六、实验心得通过这次实验,使我更加熟练使用Matlab软件,也让我对巴特沃斯高通数字滤波器有了进一步的了解.它还使我明白了做事要仔细认真,一个不经意间,可能实验结果就出不来。数字滤波器具有精度高、稳定性好、灵活性强、可预见性好的特点。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1