77范文网 - 专业文章范例文档资料分享平台

毕业论文-快速傅里叶变换算法及其在信号处理中的应用(5)

来源:网络收集 时间:2019-06-05 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

武汉工程大学毕业设计(论文)说明书

4.2 FFT计算离散信号的线性卷积

已知两个离散时间信号x[n](n?0,1,2,M?1)与y[n](n?0,1,2,N?1),取

L?M?N?1,对x[n]和y[n]右端补零,使得

x[n]?0,n?M?1,M?2, y[n]?0,n?N?1,N?2,,L?1

,L?1 (4-9)

利用FFT算法可以求得x[n]和y[n]的L点DFT,分别是X[k]和Y[k],利用DTFT卷积性质,卷积x[n]*y[n]等于乘积X[k]Y[k]的L点DFT反变换,这也可以通过FFT算法得到。

例4-2 利用FFT计算线性卷积

已知x[n]?0.8nu[n],其中u[n]为单位阶跃序列,信号y[n]如图4-4所示。由于当n?16时,x[n]很小,故M可以取为17;N取10,L?M?N?1?26。

利用下面的Matlab命令,可得到x[n]、y[n]的卷积图形如图4-4所示。 subplot(3,1,1); n=0:16; x=0.8.^n; stem(n,x);

xlabel('n');ylabel('x[n]'); subplot(3,1,2); n=0:15;

y=[ones(1,10) zeros(1,6)]; stem(n,y);

xlabel('n');ylabel('y[n]') subplot(3,1,3); L=26;n=0:L-1;

X=fft(x,L);Y=fft(y,L); Z=X.*Y;z=ifft(Z,L);

17

武汉工程大学毕业设计(论文)说明书

stem(n,z);

xlabel('n');ylabel('z[n]')

图4-4 信号x[n]、y[n]及其卷积z[n]=x[n]*y[n]

利用下面的Matlab命令,可得到信号x[n]、y[n]的幅度谱与相位谱如图4-5所示。

subplot(2,2,1); L=26;k=0:L-1;

n=0:16;x=0.8.^n;X=fft(x,L); stem(k,abs(X)); axis([0 25 0 5]);

xlabel('k');ylabel('|X[k]|') subplot(2,2,2); stem(k,angle(X)); axis([0 25 -1 1]);

xlabel('k');ylabel('Angle(X[k])(弧度)') subplot(2,2,3);

y=ones(1,10);Y=fft(y,L);

18

武汉工程大学毕业设计(论文)说明书

stem(k,abs(Y)); axis([0 25 0 10]);

xlabel('k');ylabel('|Y[k]|') subplot(2,2,4); stem(k,angle(Y)); axis([0 25 -3 3]);

xlabel('k');ylabel('Angle(Y[k])(弧度)')

图4-5 信号x[n]、y[n]的幅度谱与相位谱

4.3 FFT进行离散信号压缩

利用FFT算法对离散信号进行压缩的步骤如下:1)通过采样将信号离散化;2)对离散化信号进行傅里叶变换;3)对变换后的系数进行处理,将绝对值小于某一阈值的系数置为0,保留剩余的系数;4)利用IFFT算法对处理后的信号进行逆傅里叶变换[13]。

例4-3 对单位区间上的下列连续信号

1f(t)?t?cos(4?t)?sin(8?t)

2以fs?256Hz采样频率进行采样,将其离散化为28个采样值

f[n]?f(t)|t?nT?f(nT)?f(n/256),n?0,1,2,,255

用FFT分解信号,对信号进行小波压缩,然后重构信号。令绝对值最小的80%系数为0,得到重构信号图形如图4-6a)所示,均方差为0.0429,相对误差

19

武汉工程大学毕业设计(论文)说明书

为0.0449;令绝对值最小的90%系数为0,得到重构信号图形如图4-6b)所示,均方差为0.0610,相对误差为0.0638。

a) 绝对值最小的80%系数为0的重构信号(FFT) b) 绝对值最小的90%系数为0的重构信号(FFT)

图4-6 用FFT压缩后的重构信号

相关Matlab程序如下: function wc=compress(w,r) %压缩函数compress.m %输入信号数据w,压缩率r %输出压缩后的信号数据 if(r<0)|(r>1)

error('r 应该介于0和1之间!'); end;

N=length(w); Nr=floor(N*r); ww=sort(abs(w)); tol=abs(ww(Nr+1)); wc=(abs(w)>=tol).*w;

function [unbiased_variance,error]=fftcomp(t,y,r)

%利用FFT做离散信号压缩

%输入时间t,原信号y,以及压缩率r if(r<0)|(r>1)

error('r 应该介于0和1之间!');

20

武汉工程大学毕业设计(论文)说明书

end; fy=fft(y);

fyc=compress(fy,r); %调用压缩函数compress.m yc=ifft(fyc);

plot(t,y,'r',t,yc,'b'); legend('原信号','重构信号');

unbiased_variance=norm(y-yc)/sqrt(length(t)); error=norm(y-yc)/norm(y); 输入以下Matlab命令: t=(0:255)/256;

f=t+cos(4*pi*t)+1/2*sin(8*pi*t);

[unbiased_variance,error]=fftcomp(t,f,0.8) unbiased_variance = 0.0429 error = 0.0449

如果用Harr尺度函数和Harr小波分解信号,对信号进行小波压缩,然后重构信号。令绝对值最小的80%系数为0,得到重构信号图形如图4-7a)所示,均方差为0.0584,相对误差为0.0611;令绝对值最小的90%系数为0,得到重构信号图形如图4-7b)所示,均方差为0.1136,相对误差为0.1190。

a) 绝对值最小的80%系数为0的重构信号(Harr) b) 绝对值最小的90%系数为0的重构信号(Harr)

图4-7 用Harr小波压缩后的重构信号

21

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库毕业论文-快速傅里叶变换算法及其在信号处理中的应用(5)在线全文阅读。

毕业论文-快速傅里叶变换算法及其在信号处理中的应用(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/650996.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: