欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > 采用离散频率索引k和模拟频率f生成信号(MATLAB)

采用离散频率索引k和模拟频率f生成信号(MATLAB)

2025/4/10 5:09:11 来源:https://blog.csdn.net/qq_19696893/article/details/146989767  浏览:    关键词:采用离散频率索引k和模拟频率f生成信号(MATLAB)

之前一直使用模拟频率f生成信号,然后今天看到别人使用了离散频率索引k,就犯迷糊了。在这里记录一下,离散频率索引k和模拟频率f的关系。
公式:
表达式一:sin(2* π* k /N* n)
表达式二:sin(2* π* f/ fs * n)
两者在形式上有很强的一致性,当满足k/N = f/fs(即f=k* fs /N)时,两个表达式完全等价。
比如说,fs=1000,N=1500,分别采用两种方式生成信号,k=350,f=233。

clc,clear,close all;fs = 1000;  % 采样率
N = 1500;   % 采样总点数
n = 0:N-1;  % n表示采样的第n个点% 方式一:在N个采样点中,一共振动了k个周期
k = 350;
% 方式二:生成的信号频率为f
f = 233;xn_1 = 0.7*sin(2*pi*k/N*n);       % 采用方式一生成信号
xn_2 = 0.7*sin(2*pi*f/fs*n);      % 采用方式二生成信号
% xn_2-xn_1
max_xn_1 = max(xn_1)
max_xn_2 = max(xn_2)xk1=fft(xn_1);
xk2=fft(xn_2);P2=abs(xk1/N);
P1=P2(1:N/2+1);
P1(2:end-1)=2*P1(2:end-1);P4=abs(xk2/N);
P3=P4(1:N/2+1);
P3(2:end-1)=2*P3(2:end-1);% 频率轴
f = (0:N/2)*fs/N;
figure(1);
subplot(2,1,1);
plot(f,P1);
subplot(2,1,2);
plot(f,P3);

在这里插入图片描述
可以看到两者的最大值不一样。再看看频谱图。在这里插入图片描述

方式一的信号幅值是与生成的幅值一致,但方式二的为实际的一半。原因在于k/N=350/1500=0.23333333333333333… ,而 233/1000=0.233两者的比值不一样。
当把233增加一个小数点3时,即f=233.3
在这里插入图片描述
此时很接近实际值。但还不是理想值0.7 。当再增加小数点时,f=233.333就一致了。在这里插入图片描述
关于DFT的结果与输入信号幅值的关系,可以参考https://blog.csdn.net/qq_42622433/article/details/132312281

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词