news 2026/3/28 23:17:10

采样率、信号频谱/频谱混叠原理与matlab仿真分析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
采样率、信号频谱/频谱混叠原理与matlab仿真分析

目录

1.采样率(fs​)与采样定理——奈奎斯特采样定理

2.信号的频谱分析

连续信号

离散信号

3.频谱混叠


1.采样率(fs​)与采样定理——奈奎斯特采样定理

采样率是指对连续模拟信号进行离散化时,每秒采集的样本点数,单位为Hz(赫兹,1Hz=1个样本/秒),记作fs​。采样本质是用离散的样本序列{x(nTs​)}逼近连续信号x(t),其中Ts​=fs​1​称为采样周期。连续信号x(t)经过采样后,得到离散采样信号x(n):

其中n=0,1,2,… 为离散时间索引,Ts为采样周期。

为了能从离散采样信号中无失真恢复出原始连续信号,采样率必须满足:

fmax:原始连续信号的最高频率分量;

2fmax:称为奈奎斯特频率,是无失真采样的最小采样率。

采样率不足(fs ​<2fmax)是导致频谱混叠的唯一根源。

下面,我们通过MATLAB给定连续正弦信号,设置不同采样率,生成离散采样信号,对比时域波形差异。

clear; clc; close all; % 1. 定义原始连续信号参数(单频正弦信号,最易验证) f0 = 50; % 信号真实频率 f0=50Hz(f_max=50Hz) A = 1; % 信号幅度 phi = 0; % 初始相位 t_cont = 0:1e-5:0.2; % 连续时间轴(步长1e-5,近似连续) x_cont = A * sin(2*pi*f0*t_cont + phi); % 连续信号 x(t) % 2. 设置两种采样率(对比) fs1 = 200; % 采样率1:fs1=200Hz ≥ 2*50=100Hz(满足奈奎斯特) fs2 = 80; % 采样率2:fs2=80Hz < 100Hz(不满足奈奎斯特) Ts1 = 1/fs1; Ts2 = 1/fs2; % 采样周期 t1 = 0:Ts1:0.2; % 离散时间轴1 t2 = 0:Ts2:0.2; % 离散时间轴2 x1 = A * sin(2*pi*f0*t1 + phi); % 离散信号1 x(n)=x(nTs1) x2 = A * sin(2*pi*f0*t2 + phi); % 离散信号2 x(n)=x(nTs2) % 3. 绘图对比 figure('Color','w'); subplot(2,1,1); plot(t_cont, x_cont, 'b-', 'LineWidth',1); hold on; stem(t1, x1, 'r.', 'MarkerSize',10); grid on; title(['采样率 f_s=',num2str(fs1),'Hz(满足奈奎斯特定理)']); xlabel('时间 t (s)'); ylabel('幅值 x(t)'); legend('连续信号','离散采样信号','Location','best'); subplot(2,1,2); plot(t_cont, x_cont, 'b-', 'LineWidth',1); hold on; stem(t2, x2, 'r.', 'MarkerSize',10); grid on; title(['采样率 f_s=',num2str(fs2),'Hz(不满足奈奎斯特定理)']); xlabel('时间 t (s)'); ylabel('幅值 x(t)'); legend('连续信号','离散采样信号','Location','best');

测试结果如下:

当采样率为200Hz时,离散采样点紧密贴合连续信号波形,能准确表征原始信号;

当采样率为80Hz时,离散采样点稀疏,无法贴合连续信号波形。

2.信号的频谱分析

频谱是信号在频率域的表征,描述了信号由哪些不同频率的正弦/余弦分量组成,以及各分量的幅度和相位,核心分为幅度频谱和相位频谱,工程中最常用幅度频谱。

连续信号

连续时域信号x(t)→连续频域信号X(jω):

离散信号

离散采样信号x(n)(共N个点)→ 离散频域信号X(k):

基于步骤1的离散信号,用FFT计算频谱,绘制幅度频谱图:

clear; clc; close all; % 1. 信号与采样参数(沿用步骤1,满足奈奎斯特) f0 = 50; A = 1; phi = 0; fs = 200; Ts = 1/fs; % 采样率200Hz,无混叠 t = 0:Ts:0.2; N = length(t); % 采样点数N x = A * sin(2*pi*f0*t + phi); % 离散采样信号 % 2. FFT计算频谱(核心:离散傅里叶变换) X = fft(x); % 计算DFT/FFT absX = abs(X); % 幅度频谱 f = (0:N-1)*fs/N; % 频率轴(对应每个X(k)的频率) % 3. 频谱归一化(仅展示0~fs/2的有效频谱,工程标准做法) half_N = floor(N/2); absX_half = 2*absX(1:half_N)/N; % 幅度归一化(单频信号幅值修正) f_half = f(1:half_N); % 有效频率轴:0 ~ fs/2 % 4. 绘图:时域波形 + 幅度频谱 figure('Color','w'); subplot(2,1,1); stem(t, x, 'b.', 'MarkerSize',10); grid on; title('时域离散信号'); xlabel('时间 t (s)'); ylabel('幅值 x(n)'); subplot(2,1,2); plot(f_half, absX_half, 'r-', 'LineWidth',2); grid on; title('频域幅度频谱'); xlabel('频率 f (Hz)'); ylabel('归一化幅度 |X(k)|'); xlim([0, fs/2]); % 仅显示0~奈奎斯特频率区间 [~, idx] = max(absX_half); % 提取峰值频率 f_est = f_half(idx); % 估计频率 text(f0+5, max(absX_half)/2, ['峰值频率=',num2str(f_est),'Hz'], 'FontSize',12);

测试结果如下:

频谱图中峰值频率 = 48.7805Hz,与真实频率基本一致,验证FFT频谱分析的正确性。

3.频谱混叠

当采样率不满足奈奎斯特定理(fs ​<2fmax )时,原始信号中高于奈奎斯特频率的高频分量,会被错误地折叠到0~fs/2的低频区间,导致频谱失真、频率混淆,这种现象称为频谱混叠。

设原始信号的真实频率为f0​,采样率为fs​,则混叠后观测到的虚假频率fa​满足公式:

其中m为整数,且满足0<fa​<2fs​​(混叠频率必然落在0~ 奈奎斯特频率区间)。

我们通过编写如下程序,分析频谱混叠现象:

clear; clc; close all; % ===================== 场景1:满足奈奎斯特定理(无混叠)===================== f0 = 50; % 真实频率50Hz fs1 = 800; % 采样率800Hz → 奈奎斯特频率400Hz,f0<400Hz(无混叠) Ts1 = 1/fs1; t1 = 0:Ts1:0.2; N1 = length(t1); x1 = sin(2*pi*f0*t1); % 离散信号 X1 = fft(x1); absX1 = 2*abs(X1(1:floor(N1/2)))/N1; f1 = (0:floor(N1/2)-1)*fs1/N1; % 频率轴 % ===================== 场景2:不满足奈奎斯特定理(有混叠)===================== fs2 = 75; % 采样率75Hz (混叠) Ts2 = 1/fs2; t2 = 0:Ts2:0.2; N2 = length(t2); x2 = sin(2*pi*f0*t2); % 离散信号 X2 = fft(x2); absX2 = 2*abs(X2(1:floor(N2/2)))/N2; f2 = (0:floor(N2/2)-1)*fs2/N2; % 频率轴 % 计算混叠虚假频率(验证公式) m = 1; % 满足0<fa<fs2/2的整数 fa = abs(f0 - m*fs2); % % ===================== 绘图对比 ===================== figure('Color','w'); subplot(2,1,1); plot(f1, absX1, 'b-', 'LineWidth',2); grid on; title(['无混叠:f_s=',num2str(fs1),'Hz,真实频率f0=',num2str(f0),'Hz']); xlabel('频率 f (Hz)'); ylabel('归一化幅度'); xlim([0, fs1/2]); text(f0+20, max(absX1)/2, ['峰值频率=',num2str(f0),'Hz'], 'FontSize',12); subplot(2,1,2); plot(f2, absX2, 'r-', 'LineWidth',2); grid on; title(['有混叠:f_s=',num2str(fs2),'Hz,混叠虚假频率fa=',num2str(fa),'Hz']); xlabel('频率 f (Hz)'); ylabel('归一化幅度'); xlim([0, fs2/2]); text(fa, max(absX2)/2, ['峰值频率=',num2str(fa),'Hz'], 'FontSize',12);

测试结果如下:

当fs=800Hz时,频谱峰值=50Hz,与真实频率一致,无混叠;

当fs=75Hz时,频谱峰值=25Hz,与混叠公式计算的fa=25Hz完全一致,发生混叠;

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/28 7:19:57

构建LLM支持的AI Agent创新思维系统

构建LLM支持的AI Agent创新思维系统 关键词:LLM(大语言模型)、AI Agent、创新思维系统、智能交互、认知推理 摘要:本文聚焦于构建基于大语言模型(LLM)支持的AI Agent创新思维系统。详细介绍了相关背景知识,包括目的、预期读者、文档结构等。深入剖析了核心概念,阐述了L…

作者头像 李华
网站建设 2026/3/26 23:39:59

YOLO在空气质量监测的应用:扬尘颗粒物视觉识别

YOLO在空气质量监测的应用&#xff1a;扬尘颗粒物视觉识别 城市工地的塔吊下&#xff0c;尘土随风翻卷&#xff0c;一辆渣土车正缓缓驶出围挡——如果没有盖篷布&#xff0c;这可能就是一次典型的扬尘污染事件。过去&#xff0c;这类行为往往要等到空气检测站读数异常、市民投诉…

作者头像 李华
网站建设 2026/3/27 4:57:13

YOLO在智能楼宇的应用:电梯内人数统计与超载预警

YOLO在智能楼宇的应用&#xff1a;电梯内人数统计与超载预警 在高层建筑林立的今天&#xff0c;电梯早已不是简单的垂直运输工具——它成了衡量楼宇智能化水平的一扇窗口。然而&#xff0c;大多数电梯仍停留在“称重报警”的初级安全阶段。你是否经历过这样的尴尬&#xff1a;几…

作者头像 李华
网站建设 2026/3/27 3:33:12

7款免费AI论文神器:开题报告大纲10分钟生成,效率提升300%!

还在为论文开题报告和繁琐大纲绞尽脑汁&#xff0c;对着空白文档焦虑到天明吗&#xff1f;别再让低效写作拖垮你的学术进度&#xff01;如今&#xff0c;借助AI论文工具&#xff0c;你完全可以实现 “喝杯咖啡的时间&#xff0c;论文大纲初稿一气呵成” 的理想状态。想象一下&a…

作者头像 李华
网站建设 2026/3/27 11:07:59

wrk:现代 HTTP 性能测试工具(类cc)

wrk&#xff1a;现代 HTTP 性能测试工具&#xff08;类cc&#xff09;wrk 是一个开源的高性能 HTTP 基准测试工具&#xff08;HTTP benchmarking tool&#xff09;&#xff0c;由 Will Glozer 开发&#xff0c;专为测试 Web 服务器和 API 接口的并发性能而生。它能在单台多核机…

作者头像 李华
网站建设 2026/3/27 16:48:07

mmc.exe文件丢失损坏找不到 下载方法

在使用电脑系统时经常会出现丢失找不到某些文件的情况&#xff0c;由于很多常用软件都是采用 Microsoft Visual Studio 编写的&#xff0c;所以这类软件的运行需要依赖微软Visual C运行库&#xff0c;比如像 QQ、迅雷、Adobe 软件等等&#xff0c;如果没有安装VC运行库或者安装…

作者头像 李华