- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验三20110599.doc
数字信号处理实验
姓名:刘书梅 学号班级:11信工2班
实验名称:快速傅里叶变换
实验目的
掌握快速傅里叶正变换与反变换的原理及其实现方法;
编程实现长度为N=8的序列的快速傅里叶正变换与反变换;
加深理解快速傅里叶变换在运算量上的优势;
加深理解离散傅里叶变换的相乘和卷积性质。
二、
习题1、代码与图形如下
clc;clear;clf;
Lx=38;%输入数据总长度
L=6;%输入数据分段长度
M=5;%单位样值响应长度
x=0.5*boxcar(Lx);%输入数据
h=0.5*boxcar(M);%单位样值响应
z=conv(x,h);
subplot(2,1,1)
stem(z)
%-----------------------------------------------------------
if rem(Lx,L)~=0
K=ceil(Lx/L);%输入数据分段数
x(Lx+1:K*L)=0;
else
K=Lx/L;
end
N=2^nextpow2(L+M-1);%FFT长度
y=zeros(1,Lx+M-1);%输出信号
h1=zeros(1,N);
h1(1:M)=h;%单位样值响应补0至N
for i=1:K
x1=zeros(1,N);
if i~=1
x1(1:M-1)=x((i-1)*L-M+1:(i-1)*L-1);
end
x1(M:M+L-1)=x((i-1)*L+1:i*L);
y1=real(ifft(fft(x1).*fft(h1)));
y((i-1)*L+1:i*L)=y1(M:L+M-1);
end
subplot(2,1,2)
stem(y)
说明:用boxcar函数把x和h定义为长度不同大小均为0.5的门函数,然后再用conv函数求两者的卷积,再用subplot命令把图形分割为两部分,在第一部分用stem命令绘出卷积后的图形。程序中命令rem表示求余数,ceil(Lx/L)表示对Lx/L向上取整,即取比Lx/L大的最小的整数,2^nextpow2(L+M-1)表示取比L+M-1大的最小的2的整次幂数。
三、
习题2、已知连续周期信号
确定信号的基频和基本周期,以及分析时采用的采样点数N;
分析当长度取0.5和1.5时,对x(t)采样,利用FFT计算其幅度谱;对所得的结果进行比较,总结应如何选取分析长度。
代码及图形如下
clf;clear;clc;
k=2;
Tp=1/45;
N=10;
L=0.5*Tp;
t=[0:L/N:L];
x=cos(2*pi*5*t/k)+2*sin(2*pi*9*t/k);
subplot(2,2,1)
stem(t,x);xlabel(时间/s);
ylabel(x);title(原始信号);
grid on;
y=fft(x); %对信号进行快速Fourier变换
mag=abs(y);
subplot(2,2,2)
stem(t,mag); %绘出随频率变化的振幅
xlabel(L1);
ylabel(y);
title(幅度谱);
grid on;
L=1.5*Tp;
t=[0:L/N:L];
x=cos(2*pi*5*t/k)+2*sin(2*pi*9*t/k); %信号
subplot(2,2,3)
stem(t,x);xlabel(时间/s);
ylabel(x);title(原始信号);
grid on;
y=fft(x); %对信号进行快速Fourier变换
mag=abs(y); %求得Fourier变换后的振幅
%f=t*fs/L; %频率序列
subplot(2,2,4)
stem(t,mag); %绘出随频率变化的振幅
xlabel(L2);
ylabel(y);
title(幅度谱);
grid on;
figure(2)
L=10*Tp;
t=[0:L/N:L];
x=cos(2*pi*5*t/k)+2*sin(2*pi*9*t/k); %信号
subplot(2,1,1)
stem(t,x);xlabel(时间/s);
ylabel(x);title(原始信号);
grid on;
y=fft(x); %对信号进行快速Fourier变换
mag=abs(y); %求得Fourier变换后的振幅
%f=t*fs/L; %频率序列
subplot(2,1,2)
stem(t,mag); %绘出随频率变化的振幅
xlabel(L3);
ylabel(y);
title(幅度谱);
grid on;
说明:先用subplot命令对图形进行分割,
文档评论(0)