2024年5月17日发(作者:)
Matlab傅里叶变换傅里叶逆变换
%% 信号经过傅里叶变换然后进行傅里叶逆变换后信号的变化
clear all;clc;
%------Author&Date------
%Author:
%Date: 2013/07/31
%================================================
==========================
Fs=8e3; %采样率
t=0:1/Fs:1; %采样点
len=length(t); %采样长度
f1=10; %频率1
f2=100; %频率2
f3=1000; %频率3
1 / 4下载文档可编辑
A1=1; %幅度1
A2=0.8; %幅度2
A3=0.3; %幅度3
MaxS=A1+A2+A3; %信号幅度的最大值
signal=A1*sin(2*pi*f1*t)+A2*sin(2*pi*f2*t)+A3*sin(2*pi*f3*t);
X=fft(signal,len); %傅里叶变换
magX=abs(X); %信号的幅度
angX=angle(X); %信号的相位
Y=magX.*exp(1i*angX); %信号的频域表示
y=ifft(Y,len); %信号进行傅里叶逆变换
y=real(y);
er=signal-y; %原始信号和还原信号的误差
subplot(311);plot(t,signal);axis([0 1 -MaxS MaxS]);xlabel('时间');ylabel('振幅
');title('原始信号');
2 / 4下载文档可编辑
subplot(312);plot(t,y);axis([0 1 -MaxS MaxS]);xlabel('时间');ylabel('振幅');title('还
原信号');
subplot(313);plot(t,er);xlabel('时间');ylabel('振幅');title('误差');
% End Script
原始信号
2
振
幅
0
-2
00.10.20.30.40.50.6
时间
还原信号
0.70.80.91
2
振
幅
0
-2
0
x 10
0.1
-15
0.20.30.40.5
时间
误差
0.60.70.80.91
2
振
幅
0
-2
00.10.20.30.40.5
时间
0.60.70.80.91
15
15
10
1.998410
误差er的数量级为,误差绝对值的最大值()如下图:
3 / 4下载文档可编辑
(学习的目的是增长知识,提高能力,相信一分耕耘一分收获,努力就一定可以获得
应有的回报)
4 / 4下载文档可编辑
发布者:admin,转转请注明出处:http://www.yc00.com/web/1715945976a2696069.html
评论列表(0条)