以下是MATLAB计算正弦波频率的代码示例:

% 生成正弦波信号
fs = 1000; % 采样率
t = 0:1/fs:1; % 时间范围
f = 100; % 正弦波频率
x = sin(2*pi*f*t);

% 计算正弦波频率
[pks,locs] = findpeaks(x); % 找到峰值和位置
periods = diff(locs); % 计算相邻峰值之间的时间差
freqs = fs./periods; % 计算频率

% 绘制波形和频谱图
figure;
subplot(2,1,1);
plot(t,x);
xlabel('Time (s)');
ylabel('Amplitude');
title('Sinusoidal signal');
subplot(2,1,2);
periodogram(x,[],[],fs);
title('Periodogram');

在这个示例中,我们首先生成了一个频率为100 Hz的正弦波信号,并使用MATLAB的findpeaks函数找到了峰值和位置。然后,我们计算了相邻峰值之间的时间差,并使用采样率来计算频率。最后,我们绘制了波形和频谱图,以便查看信号的频率内容

matlab计算正弦波频率的代码

原文地址: http://www.cveoy.top/t/topic/dgCo 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录