(34)FFT与信号频谱(双边谱)

文章目录


前言

本文首先使用MATLAB生成一段余弦信号,然后对其进行FFT变换,给出了信号的双边幅度谱。


一、仿真代码

代码如下(示例):

c 复制代码
%% 生成余弦波
% 指定信号的参数,频率1Hz,采样频率为16Hz,信号持续时间为2秒(32个samples)。
f = 1;                            % 余弦波的振荡频率,简称频率
fs = 16;                          % 数字信号的采样频率(sampling frequency ),简称采样率
Ts = 1/fs;                        % 采样周期,也即采样值的时间间隔
L = 32;                           % 一个采样值称为一个sample,L为sample的个数
t = (0:L-1)*Ts;                   % 时间向量
x = cos(2*pi*f*t);                % 生成余弦波x

% 画出生成余弦波的时域波形
figure()
plot(t,x,'LineWidth',1.5)
title(['余弦波的时域波形(f=',num2str(f),'Hz,fs=',num2str(fs),' samples/s)'])
grid on
xlabel('t/s')
ylabel('cos(2*pi*f*t)')

%% 频域(FFT)结果
N = L;                          % N=32
Y = fft(x,N);                   % 信号的傅里叶变换

% 计算信号的双边幅度频谱
P2 = abs(Y/L);

% 信号的双边幅度频谱画图,x轴为频率
figure()
stem(0:(fs/N):(fs-fs/N),P2(1:N),'LineWidth',1.5)
grid on
title(['余弦波的双边幅度频谱(f=',num2str(f),'Hz,fs=',num2str(fs),' samples/s,','N=',num2str(N),')'])
xlabel('频率/Hz')
ylabel('幅度|Y(n)|')

二、仿真结果画图

时域波形如下:

信号的双边频谱如下:


相关推荐
贝塔实验室1 小时前
LDPC 码的构造方法
算法·fpga开发·硬件工程·动态规划·信息与通信·信号处理·基带工程
Greedy Alg2 小时前
LeetCode 287. 寻找重复数
算法
2501_938791222 小时前
逻辑回归与KNN在低维与高维数据上的分类性能差异研究
算法·分类·逻辑回归
南方的狮子先生2 小时前
【深度学习】60 分钟 PyTorch 极速入门:从 Tensor 到 CIFAR-10 分类
人工智能·pytorch·python·深度学习·算法·分类·1024程序员节
报错小能手2 小时前
C++笔记(面向对象)类模板
算法
JJJJ_iii3 小时前
【机器学习10】项目生命周期、偏斜类别评估、决策树
人工智能·python·深度学习·算法·决策树·机器学习
fie88893 小时前
基于MATLAB的LBFGS优化算法实现
算法·matlab
天选之女wow3 小时前
【代码随想录算法训练营——Day50(Day49周日休息)】图论——98.所有可达路径
算法·图论
刀法自然3 小时前
栈实现表达式求值
数据结构·算法·图论
我搞slam3 小时前
有效的括号--leetcode
linux·算法·leetcode