选择信号的采样频率和信号长度的技巧

article/2025/9/29 4:40:46

在实际信号分析中经常会遇到要分辨出频率间隔为△f的两个分量,在这种情形中如何选择采样频率和信号的长度呢?
设有一个信号x(t)由三个正弦信号组成,其频率分别是f1=1Hz,f2=2.5Hz,f3=3Hz,即
x(t)=sin(2π*f1*t)+sin(2π*f2*t)+sin(2π*f3*t)
下面介绍如何选择采样频率fs和信号长度N。
因为信号的最高频率fc为3Hz,故按采样定理fs≥2fc=6,选择fs=10Hz。由频域分辨分析可知,若要区分1kHz和2.5kHz的频率分量,则按式N≥[fs/△fmin],最小采样长度N1必须满足
N1≥[fs/△fmin]=10/2.5-1=6.6
若要区分2.5kHz和3kHz的频率分量,则最小采样长度N2必须为
N2≥[fs/△fmin]=10/3-2.5=20
因此,为了能区分各频率的峰值,信号最小长度为20。

案例1:某信号由3个正弦信号组成,频率分别为1Hz、2.5Hz、3Hz,采样频率为10Hz。分别以数据长度N=20、40、128来分析该信号。程序如下:

clear all; clc; close all;M=256; fs=10;                                   % 设置数据长度M和采样频率fs
f1=1; f2=2.5; f3=3;                             % 设置3个正弦信号的频率
t=(0:M-1)/fs;                                   % 设置时间序列
x=cos(2*pi*f1*t)+cos(2*pi*f2*t)+cos(2*pi*f3*t); % 计算出信号波形X1=fft(x,20);                                   % FFT变换
X2=fft(x,40);
X3=fft(x,128);
freq1=(0:10)*fs/20;                              % 计算3个信号在频域的频率刻度
freq2=(0:20)*fs/40;
freq3=(0:64)*fs/128;
% 作图
plot(freq1,abs(X1(1:11)),'r--');hold on;
plot(freq2,abs(X2(1:21)),'k-');
plot(freq3,abs(X3(1:65)),'b-','linewidth',2);
legend('N=20','N=40','N=128');
title('不同N值的DFT变换');
xlabel('频率/Hz'); ylabel('幅值');
set(gcf,'color','w');

运行结果如下:

从图中可以看出,当N=20点时,虽然2.5Hz和3Hz这两个峰值大致能分开,但还是不太明显,可以认为是两个峰值,也可能被误认为有一个峰值在这两点之间。

当N=40时这两个峰值就十分明显了,因为N增加一倍后在这两点之间增加了一个谷值,从而突出了峰值。

而当N=128时峰值更明显了,但由于栅栏现象和矩形窗泄漏存在,3个正弦信号虽然输入时幅值相同,但从频域上反映出的幅值各不相同。

在以上例子中3个正弦信号的幅值是相同的,但大多数情形中相邻正弦信号幅值不相同,有时差值很大。
案例2:已知信号x(t)中50Hz频率分量的幅值为311,46Hz频率分量的幅值为1.55,采样频率fs=8kHz。要求46Hz信号的幅度分析精度不低于5%,试问:
①选择何种类型窗函数较合适?
②采样长度N应为多少?
③分析信号的实际频谱。
由于50Hz频率分量幅度远大于46Hz频率分量,需要防止50Hz频率分量对46Hz频率分量的泄漏,同时考虑46Hz频率分量分析精度的要求,允许50Hz频率分量的最大泄漏为
20lg|(1.55/311)*5%|=-80dB
以上介绍的窗函数中没有一个窗函数的第一旁瓣衰减能达到一80dB;但可以选择旁瓣衰减大、高频衰减速度快的窗函数,以满足实际衰减要求。根据下表可知,

选择布莱克曼窗比较合适。布莱克曼窗第3个旁瓣衰减为(-58-18×3)dB=-112dB。
此时,采样长度的选择不但要考虑窗函数的主瓣宽度,还要考虑旁瓣位置:
N≥fs/△fmin*(K+M)=[8000/(50-46)]*(3+3)=12000
式中:K为窗函数的主瓣宽度与矩形窗的主瓣宽度之比,M为旁瓣位置。按上面表中的信息矩形窗的主瓣宽度为4π/N,而布莱克曼窗的主瓣宽度为12π/N,所以K=3;又取布莱克曼窗第3个旁瓣,M=3。
程序如下:

clear all; clc; close all;f1=50; a1=311.46;                        % 设置第1个分量的频率与幅值
f2=46; a2=1.57;                          % 设置第2个分量的频率与幅值
N=12000;                                 % 设置数据长度N
fs=8000;                                 % 设置采样频率fs
t=(0:N-1)/fs;                            % 设置时间刻度
x=a1*cos(2*pi*f1*t)+a2*cos(2*pi*f2*t);   % 设置信号
freq=(0:N/2)*fs/N;                       % 设置频率刻度
wind=blackman(N)';                       % 给出布莱克曼窗函数
X=fft(x.*wind);                          % FFT
plot(freq,20*log10(abs(X(1:N/2+1))),'k');% 作图
grid; xlim([0 100])
xlabel('频率/Hz'); ylabel('幅值/dB');
title('信号谱图');
set(gcf,'color','w');

运行结果如下:

 参考文献:MATLAB数字信号处理85个实用案例精讲——入门到进阶;宋知用(编著)


http://chatgpt.dhexx.cn/article/jyOwhgfW.shtml

相关文章

信号带宽和采样频率

1、上升时间Tr0.3/BW,所以BW0.3/Tr (或者0.35)——这个是示波器最小采样带宽值 2、实际信号最大频率参考简易计算公式,频率拐点Fknee0.5/Tr,(10%-90%),0.4/Tr(20%-80%) 以下为转载: 示波器带宽…

【转载】采样频率、采样点数、频率分辨率

原作者: 辰忆书阁 原链接:http://www.360doc.com/myfiles.aspx?reg1&app1&type3 1、频率分辨率的2种解释 解释一:频率分辨率可以理解为在使用DFT时,在频率轴上的所能得到的最小频率间隔f0fs/N1/NTs1/T,其中N为采样点数…

采样位数、采样率、波特率

实例:16bit,16K,115200 1.采样位数: 即采样值或取样值(就是将采样样本幅度量化)。它是用来衡量声音波动变化的一个参数,也可以说是声卡的分辨率。它的数值越大,分辨率也就越高&…

matlab 采样点数,信号频率、采样频率、频率分辨率以及FFT信号补零

采样点数,信号频率、采样频率、采样点数的区分 包含matlab代码讲解示例 清晰明了 采样点数,信号频率、采样频率、采样点数 首先,频率指的是物质在单位时间内完成周期性变化的次数叫做频率,常用f表示。【公式】:f1/T,【物理学单位…

关于ADC采样的采样频率,采样时间的问题

关于ADC采样的采样频率,采样时间的问题:(我目前的想法) 一例题开讲: 信号源为5KHZ的正弦波(一个周期),(就已知周期为200us)。 要求:完整的输出这个…

[信号基础] 信号频率,采样率,采样点(快拍数)等

参考&#xff1a; <2>信号频率、采样频率、采样点数 - 简书 <3>2.3 信号采样与采样定理 - 物联网前沿实践 <4>语音信号处理——常识与基本概念 - 凌逆战 - 博客园 <5>信号的时间域分辨率和频率域分辨率 - 知乎 <6>基础知识&#xff1a;采样频率和…

信号频率、采样频率、采样点数

f-信号频率fs-采样频率N-采样点数 信号频率&#xff08;f&#xff09;&#xff1a; 信号频率就是信号的频率&#xff0c;其倒数是信号一个周期的时间T。 采样点数&#xff08;N&#xff09;&#xff1a; 采样点数一次向PC端发送的数据量包含的点数&#xff0c;采样点数决定了每…

epel源究竟是什么

EPEL (Extra Packages for Enterprise Linux)是基于Fedora的一个项目&#xff0c;为“红帽系”的操作系统提供额外的软件包&#xff0c;适用于RHEL、CentOS和Scientific Linux. 使用很简单&#xff1a; 1. 首先我们需要安装一个叫”epel-release”的软件包&#xff0c;这个软件…

linux7 epel源,为CentOS7添加EPEL源

8种机械键盘轴体对比 本人程序员&#xff0c;要买一个写代码的键盘&#xff0c;请问红轴和茶轴怎么选&#xff1f; EPEL (Extra Packages for Enterprise Linux) 是Fedora小组维护的一个软件仓库项目&#xff0c;为RHEL/CentOS提供他们默认不提供的软件包。这个源兼容RHEL以及像…

epel源的搭建方式

文章目录 1. 下载位置2. 安装方式 1. 下载位置 https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm2. 安装方式 wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm #下载后为rpm的安装包 rpm -ivh epel-release-latest-8.…

CentOS7 yum源修改为阿里,配置阿里epel源

一、概念/区分&#xff1a; yum源 什么是yum源&#xff1a; yum是一个在CentOS、RedHat和Fedora操作系统中使用的Shell前端软件包管理器。yum主要管理基于rpm的软件包&#xff0c;Centos先将发布的软件放置到YUM服务器内&#xff0c;然后分析这些软件的依赖属性问题&#xff…

配置EPEL 源

EPEL (Extra Packages for Enterprise Linux) 是由 Fedora Special Interest Group 为企业 Linux 创建、维护和管理的一个高质量附加包集合&#xff0c;适用于但不仅限于 Red Hat Enterprise Linux (RHEL), CentOS, Scientific Linux (SL), Oracle Linux (OL)。 我们可以很容易…

RHEL / CentOS 配置epel源

epel 是什么&#xff1f; epel的全称叫 Extra Packages for Enterprise Linux。 EPEL 是由 Fedora 社区打造&#xff0c;为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。 装上了 EPEL 之后&#xff0c;就相当于添加了一个第三方源。 为什么需…

Centos7配置阿里云yum源及epel源

Background 踩坑记录吧。下次可以直接复制粘贴&#xff0c;不用再去排查是哪个字母字符少了多了&#xff0c;我这都是执行成功的命令粘贴过来的。 1、基础知识简介 yum: 全称“Yellow dog Updater, Modified”&#xff0c;是一个专门为了解决包的依赖关系而存在的软件包管理器…

Pixhawk RPi CM4 Baseboard 树莓派CM4安装Ubuntu20.04 server 配置ros mavros mavsdk

文章目录 硬件安装Ubuntu Server20.04下载rpiboot工具下载imager刷写系统配置USB配置WIFI 开机安装桌面配置wifi配置串口安装ROS安装mavros安装MAVSDK-PythonInternet设置最后 参考&#xff1a; https://docs.holybro.com/autopilot/pixhawk-baseboards/pixhawk-rpi-cm4-basebo…

Pixhawk系列飞控状态通知

转载自&#xff1a;https://blog.csdn.net/weixin_44917390/article/details/107413663 多旋翼飞行器设计与控制Pixhawk系列飞控状态通知&#xff08;笔记003&#xff09; 手可摘星辰不敢高声语 2020-07-17 18:51:23 572 收藏 5 分类专栏&#xff1a; PX4 最后发布:2020-0…

PixHawk飞控和QGroundControl地面站安装调试

QGroundControl下载https://docs.qgroundcontrol.com/master/en/getting_started/download_and_install.html本博主下载及安装的为Mac OSX版本&#xff1a;QGroundControl.dmg. 一、PixHawk飞控配置安装及配置 switch 安全开关; buzzer 蜂鸣器,telem1数传; gpsl2C GPS ,power …

Pixhawk Support Package

一、 https://ww2.mathworks.cn/hardware-support/px4-autopilots.html 二、 https://download.csdn.net/download/jonelly/11504800 此版本的支持包与MatlabR2017a和R2017b兼容。它也工作在MatlabR2018a的外部模式功能的限制。若要使用此支持包&#xff0c;请遵循以下说明&…

树莓派与pixhawk串口通信

一、Pixhawk部分 1.读取数据测试 步骤&#xff1a; 在Firmware/src/modules中添加一个新的文件夹&#xff0c;命名为rw_uart在rw_uart文件夹中创建CMakeLists.txt文件&#xff0c;并输入以下内容&#xff1a; px4_add_module(MODULE modules__rw_uartMAIN rw_uartCOMPILE_F…

【四旋翼】pixhawk2.4.8-地面站配置-APM固件-四旋翼从装机到试飞

文章目录 整体流程图&#xff1a;相关网址汇总&#xff1a;入门常识&#xff1a;一、硬件准备二、软件准备1 已实飞测试2 MP地面站 任意版本下载&#xff1a;3 APM固件 任意版本下载&#xff1a; 三、飞控校准1 刷固件2 机架选择3 加速度计校准4 指南针校准5 遥控器校准6 飞行模…