admin管理员组文章数量:1530517
一、原始信号模拟
现实中,由于得到的信号都是实数序列。设有实数序列x(n),如下图所示
对应Matlab如下:
%% 矩形波
N=33; % 设置N长
x=zeros(1,N); % 构成矩形波形
x(7:27)=1;
figure,plot(x,'r')
xlabel('样点'); ylabel('幅值');
二、傅里叶变换
把x(n)经FFT转到频域中为X(k),该信号频域分布如下图所示:
对应Matlab如下:
%% 傅里叶变换
X=fft(x); % FFT
figure,plot(real(X),'r');title('信号频谱')
三、频域滤波/频域处理
然后在频域中进行处理滤波处理,频域处理后如下图所示:
对应Matlab如下:
%% 频域滤波
Y=zeros(1,33); % 初始化Y
Y(1:7)=X(1:7); % 设定只取1-6条谱线
Y(28:33)=X(28:33); % 构成相应对称的谱线
figure,plot(real(Y),'r');title('频域滤波处理')
四、原始信号恢复
将频域滤波后的频谱进行IFFT,即可恢复实数序列。
对应Matlab如下:
%% 信号恢复
y=ifft(Y); % FFT逆变换
n=1:N;
figure, plot(n,y,'b');
五、Matlab程序获取与验证
完整代码链接如下:
矩形波的FFT逆傅里叶变换恢复原始信号
可开展针对性验证实验,请私信博主。
版权声明:本文标题:逆傅里叶变IFFT原始信号恢复方法研究-附Matlab代码 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1725749694a1040633.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论