傅里叶变换与快速傅里叶变换
作为电子信息专业的学生老说,这个不知道,或者理解不清楚,是十分不应该的,作为一个学渣,有时候确实是理解不清楚的
1、首先离散傅里叶变换目的: 简单点说: 就是将一个信号从时域变换到频域
标准点说: 将以时间为自变量的信号 与 频率为自变量的频谱函数之间的某种关系变换
数学描述:
-
- 其次快速傅里叶变换
-
-
- 下面给出一个fft的栗子: 有一个信号,表达式如下所示:
现在对该信号做N = 512 点快速傅里叶变换:观察其幅度频率特性 和相位频率特性;
说明:
要说明的是采样点数会影响频率分辨率的 例如 抽样频率为Fs = 1024 Hz 采样点数N = 1024 那么频率分辨率为 1Hz 如果N = 512 那么采样频率为 2Hz,假设原信号的幅值为 Ac 并且经过FFT 变换后的结果每个点的幅值 是Ac*(N/2) (除了直流分量) 模值是直流分量的 N 倍
代码:
- close all;
- Adc = 2; %直流分量为2
- A1 = 3; %频率 F1信号的幅度
- A2 = 1.5; %频率为F2信号的频率
- F1 = 50;
- F2 = 75;
- Fs = 256; %抽样频率为1024Hz
- P1 = -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; %并将器转换为角度
- end
- plot(F(1:N/2),Pyy);
- title('相位频率特性曲线');
close all;
Adc = 2; %直流分量为2
A1 = 3; %频率 F1信号的幅度
A2 = 1.5; %频率为F2信号的频率
F1 = 50;
F2 = 75;
Fs = 256; %抽样频率为1024Hz
P1 = -30; %相位为 -30度
P2 = 90 ;%相位为90度
N= 256; %采样点数为1024
t = [0:1/Fs:N/Fs];
%信号
S = Adc + A1cos(2piF1t + piP1/180) + A2cos(2piF2t +piP2/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; %并将器转换为角度
end
plot(F(1:N/2),Pyy);
title(‘相位频率特性曲线’);
然后运行结果:
2.fft变换后的赋值
3、信号的幅频特性:
4、相频特性