用MAtlaB进行DFT及FFT频谱分析和运算结果的比较的实验.docx
- 文档编号:4494008
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:9
- 大小:147.10KB
用MAtlaB进行DFT及FFT频谱分析和运算结果的比较的实验.docx
《用MAtlaB进行DFT及FFT频谱分析和运算结果的比较的实验.docx》由会员分享,可在线阅读,更多相关《用MAtlaB进行DFT及FFT频谱分析和运算结果的比较的实验.docx(9页珍藏版)》请在冰豆网上搜索。
用MAtlaB进行DFT及FFT频谱分析和运算结果的比较的实验
DSPMATLAB上机实验一
班级:
学号:
姓名:
函数代码:
functionxn()
formatlong
q=0.9+0.3*i;
wn=exp(-2*pi*i/32);
xn=q.^[0:
31]
xk1=(1-q^32)./(1-q*wn.^[0:
31])%利用公式计算XK的理论值
xk2=fft(xn,32)%运用基二基2时间抽选的FFT算法计算Xk
diff=xk1-xk2%两者的差
运行xn()即得结果
结果为:
xn=
Columns1through2
1.0000000000000000.900000000000000+0.300000000000000i
Columns3through4
0.720000000000000+0.540000000000000i0.486000000000000+0.702000000000000i
Columns5through6
0.226800000000000+0.777600000000000i-0.029160000000000+0.767880000000000i
Columns7through8
-0.256608000000000+0.682344000000000i-0.435650400000000+0.537127200000000i
Columns9through10
-0.553223520000000+0.352719360000000i-0.603716976000000+0.151480368000000i
Columns11through12
-0.588789388800000-0.044782761600000i-0.516475621440000-0.216941302080000i
Columns13through14
-0.399745668672000-0.350189858304000i-0.254714144313600-0.435094573075200i
Columns15through16
-0.098714357959680-0.467999359061760i0.051556885554816-0.450813730543488i
Columns17through18
0.181645316162381-0.390265291822695i0.280560372092951-0.296745167791711i
Columns19through20
0.341527885221169-0.182902539384655i0.362245858514449-0.062153919879838i
Columns21through22
0.344667448626955+0.052735229662480i0.294380134865516+0.150861941284319i
Columns23through24
0.219683538993669+0.224089787615542i0.130488248809639+0.267585870552088i
Columns25through26
0.037163662763049+0.279973758139771i-0.050544830955187+0.263125481154709i
Columns27through28
-0.124427992206081+0.221649483752682i-0.178480038111278+0.162156137715589i
Columns29through30
-0.209278875614827+0.092396512510647i-0.216069941806538+0.020373198575134i
Columns31through32
-0.200574907198425-0.046485103824341i-0.166571885331280-0.102009065601434i
xk1=
Columns1through2
0.693972803195698+3.499715655993840i2.792267857648369+8.050455721438597i
Columns3through4
9.402964607913189-9.135013555028673i1.866445467462052-3.833832762635439i
Columns5through6
1.131822689478846-2.234157347130941i0.904793922868299-1.534629307882413i
Columns7through8
0.799557206779214-1.139609357830753i0.739605630813150-0.882314367550644i
Columns9through10
0.700861643199240-0.698565363198060i0.673575789604202-0.558478478082158i
Columns11through12
0.653109437428513-0.446244996656357i0.636991253015040-0.352689135211701i
Columns13through14
0.623788380776217-0.272085968296931i0.612612873742441-0.200641851238978i
Columns15through16
0.602883340189454-0.135703205872800i0.594200434347139-0.075313670713158i
Columns17through18
0.586277479436723-0.017949220626496i0.578899608820263+0.037651723475093i
Columns19through20
0.571898466305671+0.092606953506914i0.565135772013173+0.147983310049841i
Columns21through22
0.558492135768929+0.204880771267792i0.551859131244066+0.264522208758452i
Columns23through24
0.545133643745847+0.328364940349017i0.538214362209129+0.398257131749283i
Columns25through26
0.531001527230573+0.476677768575531i0.523403723684219+0.567132338629562i
Columns27through28
0.515362483773298+0.674849986673143i0.506925762334513+0.808101482252638i
Columns29through30
0.498467012317214+0.980906313951879i0.491389377970933+1.219207441587793i
Columns31through32
0.490732201059483+1.577081955159802i0.517353973624932+2.188832884536347i
xk2=
Columns1through2
0.693972803195698+3.499715655993839i2.792267857648366+8.050455721438597i
Columns3through4
9.402964607913182-9.135013555028694i1.866445467462051-3.833832762635439i
Columns5through6
1.131822689478844-2.234157347130942i0.904793922868298-1.534629307882413i
Columns7through8
0.799557206779213-1.139609357830754i0.739605630813149-0.882314367550644i
Columns9through10
0.700861643199240-0.698565363198060i0.673575789604202-0.558478478082158i
Columns11through12
0.653109437428513-0.446244996656356i0.636991253015040-0.352689135211701i
Columns13through14
0.623788380776217-0.272085968296931i0.612612873742441-0.200641851238978i
Columns15through16
0.602883340189454-0.135703205872799i0.594200434347139-0.075313670713158i
Columns17through18
0.586277479436723-0.017949220626496i0.578899608820263+0.037651723475093i
Columns19through20
0.571898466305671+0.092606953506913i0.565135772013173+0.147983310049840i
Columns21through22
0.558492135768929+0.204880771267792i0.551859131244066+0.264522208758452i
Columns23through24
0.545133643745847+0.328364940349016i0.538214362209129+0.398257131749282i
Columns25through26
0.531001527230572+0.476677768575531i0.523403723684219+0.567132338629563i
Columns27through28
0.515362483773297+0.674849986673143i0.506925762334512+0.808101482252638i
Columns29through30
0.498467012317213+0.980906313951878i0.491389377970932+1.219207441587794i
Columns31through32
0.490732201059480+1.577081955159802i0.517353973624928+2.188832884536347i
diff=
1.0e-013*
Columns1through2
0.001110223024625+0.004440892098501i0.031086244689504
Columns3through4
0.071054273576010+0.213162820728030i0.013322676295502+0.008881784197001i
Columns5through6
0.015543122344752+0.004440892098501i0.004440892098501+0.006661338147751i
Columns7through8
0.008881784197001+0.002220446049250i0.003330669073875-0.001110223024625i
Columns9through10
0.006661338147751-0.001110223024625i0.006661338147751-0.003330669073875i
Columns11through12
0.001110223024625-0.009992007221626i0.002220446049250+0.003330669073875i
Columns13through14
-0.002220446049250+0.000555111512313i0.003330669073875+0.000832667268469i
Columns15through16
0.006661338147751-0.006938893903907i0.002220446049250+0.000693889390391i
Columns17through18
0.002220446049250-0.000173472347598i-0.001110223024625-0.004302114220422i
Columns19through20
0.001110223024625+0.010963452368173i-0.001110223024625+0.006383782391595i
Columns21through22
0.001110223024625+0.002775557561563i0+0.000555111512313i
Columns23through24
0.001110223024625+0.006106226635438i0.004440892098501+0.003330669073875i
Columns25through26
0.0044408920985010.001110223024625-0.003330669073875i
Columns27through28
0.012212453270877-0.002220446049250i0.006661338147751-0.004440892098501i
Columns29through30
0.009992007221626+0.002220446049250i0.011102230246252-0.006661338147751i
Columns31through32
0.0283106871279410.035527136788005-0.008881784197001i
由上面结果可知,由基2时间抽选的FFT算法所得到的DFT结果与利用公式法所得的理论值稍有偏差,但误差较小,从结果可以看出大概在小数点第15位才开始出现误差,故而用计算机FFT处理数据在精度上是可以接受的。
产生误差的主要原因可能是在计算机进行FFT算法函数的过程中几次蝶形运算所得的中间值会产生舍位上的误差,故而与理论值产生一定的偏差。
源程序:
functiontwo(n1,n2)%n1为数据长度,n2为添零的个数。
n=[0:
10000];
xn=0.001*cos(0.45*n*pi)+sin(0.3*n*pi)-cos(0.302*n*pi-0.25*pi);
xk=fft(xn(1:
n1),n1+n2);
k1=0:
(n1+n2)/2;w1=2*pi/(n1+n2)*k1;
xn1=[xn(1:
n1),zeros(1,n2)];
subplot(2,2,1);stem(n(1:
(n1+n2)),xn1);
title('signalx(n),0<=n<=1000');xlabel('n')
subplot(2,2,2);
stem(w1/pi,abs(xk(1:
((n1+n2)/2+1))),'.');
title('DFTMagnitude');
xlabel('frequencyinpiunitsfrom0to¦Ð')
subplot(2,2,3);stem(w1/pi,abs(xk(1:
((n1+n2)/2+1))),'.');
axis([0.29,0.31,0,600*n1/1000]);
title('DFTMagnitude');
xlabel('frequencyinpiunitsfrom0.29πto0.31π')
subplot(2,2,4);stem(w1/pi,abs(xk(1:
((n1+n2)/2+1))),'.');
axis([0.44,0.46,0,2*n1/1000]);
title('DFTMagnitude');
xlabel('frequencyinpiunitsfrom0.44πto0.46π')
在命令框运行two(1000,0)即得到xn1000的DFT结果,其幅度频谱如下。
其中第一行第一个图为xn的前1000个点的图像,第一行第二个图为DFT结果xk在0到
上的幅度频谱图。
第二行第一个图为DFT结果xk在
到
上的幅度频谱图。
第二行第二个图为DFT结果xk在
到
的幅度频谱图。
结论:
一.由上述频谱图及过程知,当DFT变换长度为1000时所得到的谱线非常理想。
由此可知当DFT变换的长度N为多个数字频率公倍数的整数倍时(即函数的数字周期T的整数倍),即数字频率正好位于子带的中心频率上时,则得到理想的谱线。
二.在频率等于
的谱线因为幅值相比其它两个频率点的幅值而言过小,在同一个频谱图中几乎看不到,几乎可以忽略其作用。
实验总结:
●经过这次用MAtlaB进行DFT及FFT频谱分析和运算结果的比较的实验,让我对MAtlAB这一强大数学工具有了切身的体会,对用MAtlAB进行数字信号处理的方法有了更深的了解,并对FFT算法及DFT进行频谱分析有了深刻的认识。
●这次实验也让我对窗函数的选取及应用有了进一步的了解。
自己对于DFT及FFT的理论又有了更深一步的掌握。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MAtlaB 进行 DFT FFT 频谱 分析 运算 结果 比较 实验