(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)|')

二、仿真结果画图

时域波形如下:

信号的双边频谱如下:


相关推荐
yi01116 分钟前
DAY28: LeetCode 111. 二叉树的最小深度
人工智能·笔记·python·算法·leetcode·二叉树·递归
wuyk55527 分钟前
27.LeetCode 2265. 统计值等于子树平均值的节点数 —— 后序遍历实战
stm32·单片机·嵌入式硬件·算法
xiangyun6134 分钟前
C++ list 模拟实现(二):const迭代器与反向迭代器,模板的黑魔法
开发语言·数据库·c++·算法·stl·list
xxwl5851 小时前
三、区域赛算法模版第三章---字符串相关算法
笔记·学习·算法
信奥卷王1 小时前
[GESP202509 六级] 划分字符串(含视频)
数据结构·算法
酒醉的胡铁1 小时前
相似度搜索的常见算法
算法·ai
局部有解1 小时前
Leetcode Hot100 - 最长连续序列
算法·leetcode·职场和发展
行者全栈架构师2 小时前
给开源 Rust 工具加一个新检查项,TRAE 帮我从想法跑到构建产物:全链路实战
前端·算法·架构
行者全栈架构师2 小时前
【鸿蒙心迹】冷启动从 2.8s 优化到 0.9s——耗时拆解与数据对比实战(HarmonyOS 7.x)
前端·算法·架构
LXY_BUAA2 小时前
《嵌入式操作系统》_framebuffer驱动_20261008
linux·运维·算法