2024年5月17日发(作者:)
1 概述
2 代码
3 算例
1 概述
任何连续测量的时序或信号,都可以表示为不同频率的余弦(或正弦)波信号的无限叠加。
FFT(Fast Fourier Transform)是离散傅立叶变换的快速算法,可以将一个信号变换到频域。
对于包含 个均匀采样点的向量 ,其傅里叶变换定义为
式中:,为虚数单位
为什么做FFT:
(1)有些信号在时域上是很难看出什么特征的,但是如果变换到频域之后,就很容易看出特征
(频率,幅值,初相位);
(2)FFT可以将一个信号的频谱提取出来,进行频谱分析,为后续滤波准备;
(3)通过对一个系统的输入信号和输出信号进行快速傅里叶变换后,两者进行对比,对系统可
以有一个初步认识。
2 代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
p=inputParser;
addOptional(p,'Threshold',1e-6);
parse(p,varargin{:});
Threshold=old;
function
[ExtractedSignal]=FFTransform(OriginalSignal,T,Frequency,varargin)
% description:
%
[ExtractedSignal]=FFTransform(OriginalSignal,T,Frequency,Threshold)
% 快速傅里叶变换提取信号
% input:
% OriginalSignal-----观测值序列
% T------------------采样间隔
% Frequency----------欲提取的信号频率,向量
% varargin-----------可选参数Threshold,频率阈值,默认为1e-6,
% 原始信号频率与给定频率差值大于该阈值则予以剔除
% output:
% ExtractedSignal-----FFT变换后提取的信号
%
%
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
Len=length(OriginalSignal); %信号长度
Fs=1/T; % 采样频率
t=(0:Len-1)*T;
N = 2^nextpow2(Len);
%快速傅里叶变换
fftSingal = fft(OriginalSignal,N);
f = (0:N-1)*Fs/N; %频率
Amplitude = abs(fftSingal/N*2);%幅值
Phase = angle(fftSingal); %相值
ExtractedSignal=zeros(1,length(fftSingal));
%滤波,过滤频率为Frequency以外的信号
for k=0:N-1
if(min(abs(k*(Fs/N)-Frequency))>Threshold);
ExtractedSignal(k+1)=0;
else
ExtractedSignal(k+1)=fftSingal(k+1);
end
end
Yinverse=ifft(ExtractedSignal);%逆变换
assignin('base','X',OriginalSignal);
%绘图分析
close all;
figure;
subplot(2,1,1);
plot(t,OriginalSignal,'r');
xlabel('时间/s');
ylabel('X/m');
hold on;
%频谱图
subplot(2,1,2);
plot(f(1:N/2),Amplitude(1:N/2));
xlabel('频率/Hz');
ylabel('振幅/m');
%原始信号与滤波后的信号对比
figure;
plot((0:N-1)*T,real(Yinverse));
hold on;
plot(t,OriginalSignal,'r');
xlabel('时间/s');
ylabel('X/m');
legend('提取的信号','原始信号');
3 算例
假设一个随时间t变化的信号。其中包含振幅为3m、频率为20Hz正弦信号和振幅为1m、频
率为50Hz的余弦信号,这些信息在实际测量过程中很有可能是未知的,而只能对叠加的信号进
行测量。
式中为高斯白噪声。
加入方差为0.25m2的零均值高斯白噪声的信号和真实信号对比:
经过快速傅里叶变换后的振幅频谱图:
数字滤波
例如只提取20Hz的信号,可以将傅里叶变换后的信号在20Hz以外置零,再通过逆变换得到时间
域的上的信号序列
发布者:admin,转转请注明出处:http://www.yc00.com/news/1715951737a2696936.html
评论列表(0条)