文章标题

来源:互联网 发布:中公教育网络课程 编辑:程序博客网 时间:2024/06/05 20:54

                                      傅里叶变换与快速傅里叶变换

作为电子信息专业的学生老说,这个不知道,或者理解不清楚,是十分不应该的,作为一个学渣,有时候确实是理解不清楚的

1、首先离散傅里叶变换目的 简单点说: 就是将一个信号从时域变换到频域

                                         标准点说: 将以时间为自变量的信号 与 频率为自变量的频谱函数之间的某种关系变换


数学描述

对于N点序列\left\{x[n]\right\}_{0\le n <N},它的离散傅里叶变换(DFT)为
\hat{x}[k]=\sum_{n=0}^{N-1} e^{-i\frac{2\pi}{N}nk}x[n] \qquad k = 0,1,\ldots,N-1.
其中e是自然对数的底数,i是虚数单位。通常以符号\mathcal{F}表示这一变换,即
\hat{x}=\mathcal{F}x

离散傅里叶变换的逆变换(IDFT)为:
x\left[n\right]={1 \over N}\sum_{k=0}^{N-1} e^{ i\frac{2\pi}{N}nk}\hat{x}[k] \qquad n = 0,1,\ldots,N-1.
可以记为:
x=\mathcal{F}^{-1}\hat{x}

其次快速傅里叶变换


下面给出一个fft的栗子: 有一个信号,表达式如下所示:
S=2+3*cos(2*pi*50*t-pi*30/180)+1.5*cos(2*pi*75*t+pi*90/180)

 现在对该信号做N = 512 点快速傅里叶变换:观察其幅度频率特性 和相位频率特性;

说明:

      要说明的是采样点数会影响频率分辨率的 例如 抽样频率为Fs  = 1024 Hz 采样点数N = 1024 那么频率分辨率为 1Hz  如果N = 512 那么采样频率为 2Hz,假设原信号的幅值为 Ac  并且经过FFT 变换后的结果每个点的幅值 是Ac*(N/2) (除了直流分量) 模值是直流分量的 N 倍

代码:

[plain] view plain copy
print?在CODE上查看代码片派生到我的代码片
  1. close all;  
  2. Adc = 2; %直流分量为2  
  3. A1 = 3; %频率 F1信号的幅度  
  4. A2 = 1.5; %频率为F2信号的频率  
  5. F1 = 50;  
  6. F2 = 75;  
  7. Fs = 256; %抽样频率为1024Hz  
  8. P1 = -30; %相位为 -30度  
  9. P2 = 90 ;%相位为90度  
  10. N= 256; %采样点数为1024   
  11. t = [0:1/Fs:N/Fs];  
  12.   
  13. %信号  
  14. S = Adc + A1*cos(2*pi*F1*t + pi*P1/180) + A2*cos(2*pi*F2*t +pi*P2/180);  
  15. plot(S);   %显示原始信号  
  16. title(‘原始信号’);  
  17.   
  18. %对其做fft变换  
  19. figure;  
  20. Y = fft(S,N);  
  21. Ayy = abs(Y);  
  22. plot(Ayy(1:N)); %原始信号fft模值  
  23.   
  24. %下面对其才进行幅频分析  
  25. figure;  
  26. Ayy = Ayy/(N/2); % 还原真实幅度值  
  27. Ayy(1) = Ayy(1)/2;  
  28. F =([1:N])*Fs/N;  
  29. plot(F,Ayy);  
  30. title(‘幅频特性’);  
  31.   
  32. %下面是相频特性  
  33. figure;  
  34. Pyy = [1:N/2] ; %为什么这里是1:N/2 因为每次采样就是有一半是没有用的  
  35. for i= 1:N/2  
  36.     Pyy(i) = phase(Y(i));  
  37.     Pyy(i) = Pyy(i)*180/pi;  %并将器转换为角度  
  38. end  
  39. plot(F(1:N/2),Pyy);  
  40. title(‘相位频率特性曲线’);  
  41.       
close all;Adc = 2; %直流分量为2A1 = 3; %频率 F1信号的幅度A2 = 1.5; %频率为F2信号的频率F1 = 50;F2 = 75;Fs = 256; %抽样频率为1024HzP1 = -30; %相位为 -30度P2 = 90 ;%相位为90度N= 256; %采样点数为1024 t = [0:1/Fs:N/Fs];%信号S = Adc + A1*cos(2*pi*F1*t + pi*P1/180) + A2*cos(2*pi*F2*t +pi*P2/180);plot(S);   %显示原始信号title('原始信号');%对其做fft变换figure;Y = fft(S,N);Ayy = abs(Y);plot(Ayy(1:N)); %原始信号fft模值%下面对其才进行幅频分析figure;Ayy = Ayy/(N/2); % 还原真实幅度值Ayy(1) = Ayy(1)/2;F =([1:N])*Fs/N;plot(F,Ayy);title('幅频特性');%下面是相频特性figure;Pyy = [1:N/2] ; %为什么这里是1:N/2 因为每次采样就是有一半是没有用的for i= 1:N/2    Pyy(i) = phase(Y(i));    Pyy(i) = Pyy(i)*180/pi;  %并将器转换为角度endplot(F(1:N/2),Pyy);title('相位频率特性曲线');

然后运行结果:


2.fft变换后的赋值


3、信号的幅频特性:


4、相频特性





0 0
原创粉丝点击