离散傅里叶变换(DFT):

 

 

 

快速傅里叶变换(FFT)是一种运用蝶形算子计算DFT的方法。

下面是matlab实现代码:

close all; clear;

 

fs=200;

N=256; %采样freq和数据点数

 

n=0:N-1;

t=n/fs; %时间序列

% x=0.5*sin(2*pi*15*t); %+2*sin(2*pi*40*t); %实信号

x=4*exp(j*2*pi*15*t)% +2*exp(-j*2*pi*40*t) + 2 + 4*i; %+ 4000+4000*i; %复数信号

 

y1=fft(x,N); %对信号进行快速Fourier变换

y2=fftshift(y1);

 

x_ifft1 = ifft(y1);

x_ifft2 = ifft(y2);

 

 

mag1=abs(y1); %求得Fourier变换后的amplitude

mag2=abs(y2);

 

f1=n*fs/N; %freq序列

f2=n*fs/N-fs/2;

 

subplot(4,1,1),plot(t,abs(x),'b'); %绘出随freq变化的amplitude

xlabel('time/s');

ylabel('amplitude');title('Figure1: time domain signal','color','b');grid on;

 

subplot(4,1,2),plot(f1,mag1,'b'); %绘出随freq变化的amplitude

xlabel('freq/Hz');

ylabel('amplitude');title('Figure2: usual FFT','color','b');grid on;

 

subplot(4,1,3),plot(f2,mag1,'b'); %绘出随freq变化的amplitude

xlabel('freq/Hz');

ylabel('amplitude');title('Figure3: FFT without fftshift','color','b');grid on;

 

subplot(4,1,4),plot(f2,mag2,'b'); %绘出随freq变化的amplitude

xlabel('freq/Hz');

ylabel('amplitude');title('Figure4: FFT after fftshift','color','b');grid on;

 

 

 

图中,信号由三个信号叠加起来, 15Hz的信号, -40Hz的信号,(2+4i)的直流分量。

Question 1) 如何理解负频率信号?频率不都应该是正的吗?

频率,原始定义是机械1秒内运动的次数。然而,到了二维平面,它的定义就扩充了,不再局限,而是用来描述旋转的快慢。这里就有了角频率,Ω=2πf,rad/s。既然是旋转,那么就有逆时针旋转和顺时针旋转,以逆时针旋转频率为正,那么顺时针旋转频率就为负频率了。因此,傅里叶变换中,负频率是有物理意义的,不是只有数学意义的东西。

2)为什么实数信号做完fft之后在正负频率轴各有一个峰值,而复数信号只有一个呢?

复信号fft推导:

 

实信号推导:

  

3. fftshift的作用?

fftshift移动零频点到频谱中间,重新排列fft,fft2和fftn的输出结果。将零频点放到频谱的中间对于观察傅立叶变换是有用的。图3和图4对比发现, 做完fftshift之后,很容易看到-40Hz和15Hz的波峰。         

注意,如果想恢复时域信号,这必须是没有做fftshift的值,做fftshift只为便于观察频谱。

4)如果给输入信号加一个相位呢?怎么求这个相位?

实数相位可以用atan2(b, a)来求,复数相位??????

 

 

总结:

假设采样频率为Fs,采样点数为N,做FFT之后,某一点n(n从1开始)表示的频率为:Fn=(n-1)*Fs/N;该点的模值除以N/2就是对应该频率下的信号的幅度(对于直流信号是除以N)该点的相位即是对应该频率下的信号的相位。相位的计算可用函数atan2(b,a)计算。atan2(b,a)是求坐标为(a,b)点的角度值,范围从-pi到pi。要精确到xHz,则需要采样长度为1/x秒的信号,并做FFT。要提高频率分辨率,就需要增加采样点数,这在一些实际的应用中是不现实的,需要在较短的时间内完成分析。解决这个问题的方法有频率细分法,比较简单的方法是采样比较短时间的信号,然后在后面补充一定数量的0,使其长度达到需要的点数,再做FFT,这在一定程度上能够提高频率分辨力。

 

IDFT变换:

LTE 信号:

 

LTE信号,先不考虑NCP 的情况,

 

posted on 2019-10-28 19:26  飞行的俊哥  阅读(1023)  评论(0编辑  收藏  举报