当前位置:   article > 正文

傅里叶变化之幅度谱、功率谱和相位谱计算_傅立叶变换求相位谱

傅立叶变换求相位谱

FFT函数介绍

  • Y = fft(X)
    返回X 的离散傅里叶变换 (DFT)处理结果。二维矩阵时,默认按列进行转化。
  • Y = fft(X,N)
    返回X数据中前 N 点的 DFT处理结果,同fft(X(1:N))结果一致
  • Y = fft(X,N,dim)
  • 返回沿维度 dim 的傅里叶变换。dim=1沿列进行傅里叶变换,dim=2沿行进行傅里叶变换。
clear all;close all;clc; %清理工作区,关闭所有窗口,清空文本
Fs = 100;
t = 0:1/Fs:5-1/Fs;
x = sin(2*pi*5*t) + cos(2*pi*10*t-pi/2); % 信号
figure(1);
subplot(311)
plot(x)

%计算信号的傅里叶变换,绘制单边幅度谱
y = abs(fft(x));
% y = fftshift(y);  % 将零频分量移到频谱中心,即频谱关于纵轴对称显示
ly = length(y);
y = y(1:ly/2+1);  % 当N是奇数时,单边谱是长度为(N+1)/2的序列,当N是偶数时,单边谱是长度为(N/2)+1的序列

% 单边频谱只保留一半能量,为了表示真实的振幅,需要将直流和奈奎斯特频率外的其余分量乘2。
y(2:end-1) = 2*y(2:end-1);  

f = (0:ly/2)/ly*Fs;
subplot(312)
plot(f,y)
title("one-Sided Magnitude Spectrum of x(t)")  
xlabel("Frequency (Hz)")
ylabel("2 * |y|")
grid

subplot(313)
plot(f,10*log10(y))  % 转为dB格式,压缩动态范围,使得增益、损耗等操作简单化
title("one-Sided Magnitude Spectrum of x(t)")
xlabel("Frequency (Hz)")
ylabel("Power (dB)")
grid

% 功率谱计算,表示信号在每个频率分量上的功率,计算:信号傅里叶变换幅值的平方/区间长度
figure(2)
subplot(311)
temp = y.^2/ly;
plot(f,temp)
title("one-Sided Power Spectrum of x(t)")
xlabel("Frequency (Hz)")
ylabel("Power")
grid
% 功率谱密度计算,单位频带内的信号功率,计算:信号傅里叶变换幅值的平方/(区间长度*采样率)
subplot(312)
temp = y.^2/(ly * Fs);
plot(f,temp)
title("one-Sided Power Spectrum of x(t)")
xlabel("Frequency (Hz)")
ylabel("Power density")
grid
% periodogram直接计算功率谱密度,可用于校验其他方式计算的功率谱密度正确性
subplot(313)
temp = periodogram(x, [], ly, Fs);
plot(f,temp)
title("one-Sided Power Spectrum of x(t)")
xlabel("Frequency (Hz)")
ylabel("Power density")
grid


% 相位谱计算
figure(3)
y = fft(x);
y = y(1:ly/2+1);
threshold = max(abs(y)) * 0.1;  % 设置幅度阈值,仅查看主要频率成分,取最大幅值的10%作为阈值
significant_indices = find(abs(y) > threshold);
theta = angle(y);  
stem(f(significant_indices), theta(significant_indices))
title("Phase Spectrum of x(t)")
xlabel("Frequency (Hz)")
ylabel("Phase/\pi")
grid
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 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
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71

结果如下:

原时域信号、线性幅度谱和分贝幅度谱

功率谱、功率谱密度(两种计算方式,下图中2图是3图中峰值的两倍,因为2图功率谱密度计算前幅值乘2还原能量)

在这里插入图片描述

相位谱,5zh处为正弦波,其本身带有π/2的相位偏移,10hz处为余弦波,模拟信号添加了π/2的偏移。

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/844022
推荐阅读
相关标签
  

闽ICP备14008679号