当前位置:网站首页>FFT 采样频率和采样点数的选取
FFT 采样频率和采样点数的选取
2022-07-27 21:52:00 【MR_普罗米修斯】
原信号: x ( t ) = 2.5 + s i n ( 2 π ∗ 100 t ) + 3 s i n ( 2 π ∗ 900 t ) x(t)=2.5+sin(2\pi *100t)+3sin(2\pi *900t) x(t)=2.5+sin(2π∗100t)+3sin(2π∗900t)
1、根据奈奎斯特采样定理保证不混叠且能还原出原信号信息,确定最小采样频率 f s m i n = 1800 H z f_{smin}=1800 Hz fsmin=1800Hz。
2、频率分辨率最大为 100Hz,最小采样总时间 L m i n = 1 / 100 L_{min} =1/100 Lmin=1/100。
3、根据 L = N / f s L=N/f_s L=N/fs,得到最小采样点数 N m i n = L m i n × f s m i n = 1800 / 100 = 18 N_{min}=L_{min}\times f_{smin}=1800/100=18 Nmin=Lmin×fsmin=1800/100=18。
4、基2-FFT要求点数N为2的指数倍(不考虑补零或截断,采样点数直接等于FFT运算点数),因此可得到大于 N m i n N_{min} Nmin的 N 的可取值序列 N ( n ) = 32 , 64 , 128 , 256.... N(n)={32,64,128,256....} N(n)=32,64,128,256....。
5、为了保证频率和幅度的准确性(博主理解为在该段采样时间内获取的原信号周期为整数倍,频谱尽可能不泄露),需满足
m 1 × f s / N = f 1 = 100 , m 1 ∈ 正整数 m_1\times f_s/N=f_{1}=100,m_1∈正整数 m1×fs/N=f1=100,m1∈正整数
m 2 × f s / N = f 2 = 900 , m 2 ∈ 正整数 m_2\times f_s/N=f_{2}=900,m_2∈正整数 m2×fs/N=f2=900,m2∈正整数
6、联立上两式得到 m 2 m 1 = 9 \frac{m_2}{m_1}=9 m1m2=9
对 m 1 、 m 2 和 N m_1、m_2和N m1、m2和N依次取值,凑数。
令 m 1 = 1 , m 2 = 9 , N = 32 m_1=1,m_2=9,N=32 m1=1,m2=9,N=32,得到 f s = 3200 f_s=3200 fs=3200
令 m 1 = 1 , m 2 = 9 , N = 64 m_1=1,m_2=9,N=64 m1=1,m2=9,N=64,得到 f s = 6400 f_s=6400 fs=6400
令 m 1 = 1 , m 2 = 9 , N = 128 m_1=1,m_2=9,N=128 m1=1,m2=9,N=128,得到 f s = 12800 f_s=12800 fs=12800
…等等
令 m 1 = 2 , m 2 = 18 , N = 32 m_1=2,m_2=18,N=32 m1=2,m2=18,N=32,得到 f s = 1600 < f s m i n f_s=1600<f_{smin} fs=1600<fsmin (舍去)
令 m 1 = 2 , m 2 = 18 , N = 64 m_1=2,m_2=18,N=64 m1=2,m2=18,N=64,得到 f s = 3200 f_s=3200 fs=3200
令 m 1 = 2 , m 2 = 18 , N = 128 m_1=2,m_2=18,N=128 m1=2,m2=18,N=128,得到 f s = 6400 f_s=6400 fs=6400
令 m 1 = 2 , m 2 = 18 , N = 256 m_1=2,m_2=18,N=256 m1=2,m2=18,N=256,得到 f s = 12800 f_s=12800 fs=12800
…等等
令 m 1 = 3 , m 2 = 27 , N = 32 m_1=3,m_2=27,N=32 m1=3,m2=27,N=32,得到 f s ≈ 1066.7 < f s m i n f_s≈1066.7<f_{smin} fs≈1066.7<fsmin (舍去)
令 m 1 = 3 , m 2 = 27 , N = 64 m_1=3,m_2=27,N=64 m1=3,m2=27,N=64,得到 f s ≈ 2133.3 f_s≈2133.3 fs≈2133.3
令 m 1 = 3 , m 2 = 27 , N = 128 m_1=3,m_2=27,N=128 m1=3,m2=27,N=128,得到 f s ≈ 4266.7 f_s≈4266.7 fs≈4266.7
令 m 1 = 3 , m 2 = 27 , N = 256 m_1=3,m_2=27,N=256 m1=3,m2=27,N=256,得到 f s ≈ 8533.3 f_s≈8533.3 fs≈8533.3
…等等选取其中一组数据, N = 64 , f s = 6400 N=64,f_s=6400 N=64,fs=6400 进行分析:
%% [预处理]
clc; %清除命令窗口
clear; %清除工作空间的变量和函数
clf; %清除当前图形
%% [采样参数]
fs=6400; %采样频率 (Hz)
ts=1/fs; %采样周期 (s)
N=64; %采样点数 (个)
n=0:N-1; %采样点索引
t=n*ts; %采样时间轴
%% [被采信号]
fa=100; %信号a的频率
fb=900; %信号b的频率
xn=2.5+sin(2*pi*fa*t)+3*sin(2*pi*fb*t); %被采信号=信号a+信号b
%% [FFT处理]
M=N; %FFT运算点数
X=fft(xn,M); %FFT输出值
X=[X(1)/M,X(2:M)*2/M]; %幅度轴
k=0:M-1; %频率点索引
f=fs*k/(M-1); %频率轴
%% [作图]
stem(f,abs(X)); %序列图
xlabel('频率'); %横轴坐标
ylabel('幅度'); %纵轴坐标
title({
['采样频率',num2str(fs),' , 采样点数',num2str(N)],['FFT运算点数',num2str(M)]});
grid; %显示表格线

- 不断更改采样频率和采样点数,得到下图:
第一行: m 1 = 1 , m 2 = 9 m_1=1,m_2=9 m1=1,m2=9
第二行: m 1 = 2 , m 2 = 18 m_1=2,m_2=18 m1=2,m2=18
第三行: m 1 = 3 , m 2 = 27 m_1=3,m_2=27 m1=3,m2=27
- 对上图分析:
每一行中,频率分辨率随从左到右逐渐改善一倍。
如下图双箭头所指示的两图中,采样频率不同、采样点数相同、FFT结果相同,且随着采样点数的提高,精度逐渐提高。
7、根据上述所总结的规律,按实际项目精度需求以及软硬件配置,选择合适的采样点数和采样频率即可。
边栏推荐
猜你喜欢

Glory launched a number of products at the same time. The price of notebook magicbook V 14 starts from 6199 yuan

2022 latest Tiktok live broadcast monitoring full set of monitoring (V) product details monitoring

Smart convenience store takes you to unlock the future technology shopping experience

2022最新抖音直播监控全套监控(五)商品详情监控
![[development tutorial 11] crazy shell arm function mobile phone timer experimental tutorial](/img/b2/9f046e6251366c980cc2aa3b71116f.png)
[development tutorial 11] crazy shell arm function mobile phone timer experimental tutorial

Strong collaboration and common development! Intel and Taiyi IOT held a seminar on AI computing box aggregation services

Harmonyos 3 pure mode can limit the access to personal data of risk applications detected in Huawei's application market

require、loadfile、dofile、load、loadstring

正值三伏天我却被吓出了冷汗:驾驶安全隐患离我们有多远?

窗口函数over
随机推荐
泵站远程监控
元宇宙的应用场景展示
【Meetup预告】OpenMLDB+OneFlow:链接特征工程到模型训练,加速机器学习模型开发
JVM memory model
Precautions for site selection of Yongzhou clean animal laboratory
[NPUCTF2020]EzRSA
NPM related information
Shell编程规范与变量
『百日百题 · 基础篇』备战面试,坚持刷题 第三话——分支语句!
JS ATM机输出
Camera and lidar calibration: gazebo simulation livox_ camera_ lidar_ Calibration ---- external parameter calibration calculation and result verification
A design scheme of Wal
C语言实现五子棋游戏
MATLAB如何将k线图设置为经典红绿配色?
49 times faster, NVIDIA releases quantum hybrid programming platform qoda
物联网有助于应对气候变化的 3 种方式
Read one line of string input each time (to be supplemented)
liux常用命令(查看及其开放防火墙端口号+查看及其杀死进程)
MATLAB | 那些你不得不知道的MATLAB小技巧(三)
Is there a general formula for tens of millions of players? B station is underestimated as a hot money opportunity!