实用标准文案
Matlab 傅里叶变换傅里叶逆变换
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
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( '原始信号 ');
subplot(312);plot(t,y);axis([0 1 -MaxS MaxS]);xlabel(
'时间 ');ylabel( '振幅 ');title( '还原信号 ');
subplot(313);plot(t,er);xlabel(    '时间 ');ylabel( '振幅 ');title( '误差 ');
% End Script
精彩文档
实用标准文案


原始信号

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。