|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
最近需要对信号进行IFFT变换分析,有一个疑问希望大家帮忙解决。
首先我对一个实数信号进行FFT后,截取该时域信号变换后的频域信号的1/2长度进行IFFT。也就是只使用正频率部分的频域成分进行IFFT,得到的IFFT信号的实数部分信号的形状,幅值与原始实数信号相同,只是信号长度为原信号长度的1/2。我感觉有些奇怪!
按道理来说,实数信号由正负两部分频率成分组成,并且正负两部分频率成分互为共轭。因此,该实数信号只能通过对正负两部分频率成分共同的频域信号进行IFFT变换回复。为什么我只用正频率部分就得到了原始信号?有些不解,
function test
clear all;
close all;
clf;
set(0,'language','english')
sig(1:249,2)=0;
sig(250:299,2)=linspace(0,1,50);
sig(300:349,2)=linspace(1,0,50);
sig(350:1024*4,2)=0;
sig(1:end,1)=linspace(1e-6,length(sig)*1e-6,length(sig));
R0=2;
R1=1;
s=sig(:,R0);
figure(1)
subplot(211);plot(s);
Nfft=length(s);
ts=sig(2,1)-sig(1,1);
fs=1/ts;
s_=fft(s,Nfft);
Nhalf=round(Nfft/2);
s_=s_(1:Nhalf,1);
freq=(0:Nhalf-1)*(fs/Nfft);
s1=ifft(s_);
subplot(212);plot(real(s1)) |
|