xhfzjlx 发表于 2009-4-8 17:14

求助!ifft后波形分裂了(不知原因,痛苦中)

输入信号和信道传函都转化到频域,根据时域卷积频域相乘的规则,在频域将两者相乘后求解ifft,得到时域波形。

[ 本帖最后由 zhangnan3509 于 2009-4-9 20:13 编辑 ]

xhfzjlx 发表于 2009-4-9 08:21

这个问题主要是相位信息的处理问题,请高手指点啊!

[ 本帖最后由 xhfzjlx 于 2009-4-9 09:26 编辑 ]

xhfzjlx 发表于 2009-4-9 09:17

时域波形应该是一个两周期或者是三周期的调制信号,但是,波形分开分布于时域序列的首位两端。
想知道出现这种情况的原因。期盼高手的指点!
编程思路:输入两种信号,一个是时域的调制的两周期信号,做fft转换到频域;一个是直接在频域形成高斯包络(频谱,没有相位信息)。两者都与信道函数的频域序列(复数)相乘,所得结果序列,根据fft后频域信号共轭对称的特性扩展,然后进行ifft得到时域信号。
程序如下(昨天发的帖子不见代码了,重新发布)
clear;clc
f=1000;%信号主频
fs=6000;%采样频率
pn=2;   %输入信号的周期数
nt=0:pn*fs/f-1;
for nt1=0:pn*fs/f-1;
% dt=1/(f*length(nt));-1
inw(1,nt1+1)=exp(-(nt1/(floor(pn*fs/f/2))-1)^2);
end   %信号调制的包络
dt=1/fs;
om=2*pi*f;
in2=sin(om*nt*dt);
in=inw.*in2;   %产生调制的两周期信号
mm=;% 补足2048个点,以便求fft
load ftfp1k3k.mat    %导入信道传递函数(频谱值,复数)
ftfp=;
dfq=fs/2/1024;f0=1;b=0.4;
for nfn=0:1024;
      sou(1,nfn+1)=exp(-((nfn*(dfq/1000)-f0)/b)^2);
end         %产生高斯包络,用于两种不同输入信号的对比
mm1=fft(mm);
mmza=ftfp.*sou;
mmzb=mm1(1,1:1025).*ftfp.*sou;
mma=;
mmb=;
yya=fft(mma,2048);
yyb=ifft(mma,2048);
yyc=fft(mmb,2048);
yyd=ifft(mmb,2048);
% yyc=;
% yyd=;ifft后信号的首尾连接,成一个完整波形
figure
subplot(211)
plot(real(mm))
title ('real(mm)')
subplot(212)
plot(abs(mm1))
title ('abs(mm1)')
figure
subplot(211)
plot(real(ftfp))
title ('real(ftfp)')
subplot(212)
plot(imag(ftfp))
title ('imag(ftfp)')
figure%(1:n1/2)(1:n1/2)(1:n2/2)(1:n2/2)
subplot(211)
plot(real(yya))
title ('source time fft')
subplot(212)
plot(real(yyb))
title ('source time ifft')
figure
subplot(211)
plot(real(yyc))
title ('mm time fft')
subplot(212)
plot(real(yyd))
title ('mm time ifft')

[ 本帖最后由 xhfzjlx 于 2009-4-9 09:25 编辑 ]

xhfzjlx 发表于 2009-4-11 08:47

还没有人问津,继续等待大侠的出现
页: [1]
查看完整版本: 求助!ifft后波形分裂了(不知原因,痛苦中)