数字信号处理实验一.docx

上传人:wj 文档编号:4876509 上传时间:2023-05-07 格式:DOCX 页数:10 大小:324.50KB
下载 相关 举报
数字信号处理实验一.docx_第1页
第1页 / 共10页
数字信号处理实验一.docx_第2页
第2页 / 共10页
数字信号处理实验一.docx_第3页
第3页 / 共10页
数字信号处理实验一.docx_第4页
第4页 / 共10页
数字信号处理实验一.docx_第5页
第5页 / 共10页
数字信号处理实验一.docx_第6页
第6页 / 共10页
数字信号处理实验一.docx_第7页
第7页 / 共10页
数字信号处理实验一.docx_第8页
第8页 / 共10页
数字信号处理实验一.docx_第9页
第9页 / 共10页
数字信号处理实验一.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数字信号处理实验一.docx

《数字信号处理实验一.docx》由会员分享,可在线阅读,更多相关《数字信号处理实验一.docx(10页珍藏版)》请在冰点文库上搜索。

数字信号处理实验一.docx

数字信号系统实验

——快速傅里叶变化FFT

班级:

电信硕41

学号:

2140508028

姓名:

周翔宇

快速傅里叶变换

一、实验目的

1. 在理论学习的基础上,通过本实验加深对快速傅立叶变换的理解;

2. 熟悉并掌握按时间抽取FFT算法的程序;

3. 了解应用FFT进行信号频谱分析过程中可能出现的问题,例如混淆、泄漏、栅栏效应等,以便在实际中正确应用FFT。

二、实验内容

1. 仔细分析教材第六章‘时间抽取法FFT’的算法结构,编制出相应的用FFT进行信号分析的MATLA程序

程序代码:

f=input('请输入输入信号频率f/Hz:

');%输入信号频率f%

N=input('请输入输入采样点数N:

');%输入采样点数N%

T=input('请输入输入采样间隔T/s:

');%输入采样间隔T%

%采样

forj=0:

1:

N-1

x(j+1)=sin(2*pi*f*j*T);

end

%补0

insert=input('请输入是否补0?

0:

否;1:

是:

');

ifinsert==1

ZERO=input('补零数:

');

forj=N:

1:

N+ZERO-1

x(j+1)=0;

end

N=N+ZERO;

end

%码位倒置:

M为fft运算的级数,在这里被用为表示数组中数据下表的二进制代码位数上限。

%用for循环来实现对数组中的每个数据进行处理。

%其中dec2bin()函数将十进制代码转换为二进制代码,fliplr()将二进制的矩阵进行左右对称的翻转,即实现了码位倒置.

M=log2(N);

fort=1:

1:

N

s=dec2bin(t-1,M);

s=fliplr(s);

s=bin2dec(s);

A(s+1)=x(t);

end

%按时间抽取的FFT蝶形运算

%对fft运算采用了三个for循环来实现。

第一个循环实现fft每一级的运算

%第二个循环实现每一级运算中的分组

%第三个循环实现每一个组中的fft运算

forL=1:

1:

M

forJ=0:

1:

(2^(L-1)-1)

fork=(J+1):

2^L:

N

T=A(k)+A(k+2^(L-1))*exp((-i*2*pi*J*2^(M-L))/N);

A(k+2^(L-1))=A(k)-A(k+2^(L-1))*exp((-i*2*pi*J*2^(M-L))/N);

A(k)=T;

end

end

end

%模值归一化:

对采样点的幅值去绝对值,再用每一个绝对值除以其中的最大值,这样就可以得到归一化后的图形

x=abs(A);

y=max(x);

X=x/y;

%绘图

forj=1:

1:

N

stem(j-1,X(j));

holdon

end

axis([0N01]);

2. 用FFT程序计算有限长度正弦信号

分别在以下情况下所得的DFT结果并进行分析和讨论:

a)信号频率f=50Hz,采样点数N=32,采样间隔T=0.000625s

周期正弦信号进行DFT变化会发生频域周期延拓,延拓周期即为采样频率,取其主值序列,则得到此信号的DFT变化的频域响应。

信号频率50HZ,采样周期为0.000625S,则采样频率为1600HZ,时域采样频率为2*PI。

因采样频率是信号频率的32倍,因此频谱在pi/16和-pi/16上会有冲激响应;所以时域采样后,频域以2*PI的周期进行延拓并取主值后。

因为此时满足奈奎斯特定律,能够恢复。

所以最终会在Pi/16与31Pi/16出现两个冲激,其他则全为零。

b)信号频率f=50Hz,采样点数N=32,采样间隔T=0.005s

同理此时采样频率等于200HZ,满足采样定律,能够恢复信号。

因此时域在50pi/200=pi/4与-pi/4对应得频域频率上出现冲激,即8与-8;-8取主值后转向24。

c)信号频率f=50Hz,采样点数N=32,采样间隔T=0.0046875s

采样周期为0.0046875s,所以采样频率为213.33Hz,不是整数,因为在数字域采样频率对应的是2*pi。

所以可以知道sin函数在数字域里对应的是0.234*pi,和-0.234*pi,可见不是pi/16的整数倍,因此在主瓣Pi/16处不为0而是sinc函数的叠加,无法达到同步采样,因此会发生频谱泄露。

d)信号频率f=50Hz,采样点数N=32,采样间隔T=0.004s

采样周期为0.004s,所以采样频率为250Hz,采样频率对应数字域的2*pi。

所以sin函数的频谱在数字域对应的是2*pi/5和-2*pi/5,sinc函数与上述题目相同,主瓣为pi/16。

因此在6.4处与25.6处有两个冲激。

e) 信号频率f=50Hz,采样点数N=64,采样间隔T=0.000625s

信号的频率为50Hz,采样周期为0.000625s,所以采样频率为1600Hz,在数字域,采样频率对应的是2*pi。

由于sin信号的频谱为在+1/16pi和-1/16pi上的冲激,所以时域采样后,在频域以2*pi为周期进行周期延拖。

加窗后,卷积一个sinc函数,由于窗的长度为64,所以所以其主瓣的宽度为1/16pi,因为进行DFT有64个点,所以第k个点对应的频谱为(k-1)*pi/32。

由上面的sinc函数的主瓣宽度知,除了pi/16和31*pi/16(由于频域的周期延拖),其他的点处,sinc函数都为0。

f) 信号频率f=250Hz,采样点数N=32,采样间隔T=0.005s

信号频率f=250Hz,采样点数N=32,采样间隔T=0.005s,采样频率为200Hz,采样频率对应数字频域的2*pi。

所以sin函数的频谱在2.5*pi和-2.5*pi上有冲激。

由于采样后产生周期性,在0.5*pi和1.5*pi处也有冲激。

sinc函数的主瓣宽度还是pi/16,因为0.5*pi和1.5*pi均是1/16pi的整数倍,所以sinc函数在其余k*pi/16处均为0。

所以最终DFT的频谱只在n=8和24有等值的冲激,别的点为0。

g) 将c)信号后补32个0,做64点FFT

增加点后等于将叠加的幅度减弱,频谱的泄露减弱。

每个点上叠加的幅度减少,但是最高点不会变。

三、思考题

1)在实验a).b).c)和d)中,正弦信号的初始相位对频谱图中的幅度特性是否有影响?

为什么?

由各个图象对比可以得出:

正弦信号的初始相位对频谱图中的幅度特性没有影响,原因主要在于采样之后进行了周期延拓。

2)信号补零后做FFT是否可以提高信号频谱的分辨率?

为什么?

不能,若采样频率为fs,FFT长度为N,则频谱分辨率为fs/N,设时间长度为DT,频谱分辨率=1/DT,只要DT不变,频谱分辨率就不会变。

数据后面补零可以克服栅栏效应。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2