首页 > 解决方案 > Matlab啁啾持续时间比它应该长

问题描述

我正在学习 Matlab,现在正在使用函数 chirp。

freq = 1/11025; duration = 1.5; c = 0:freq:duration; y = chirp(c,0,150,duration)

问题是,它不会停留在 1.5。相反,它停在 1.65 。但我不知道为什么。

标签: matlabchirp

解决方案


您对 chirp() 函数的解释不正确。以下是如何通过 dsp.Chirp 创建完全可定制的啁啾函数:

hChirp = dsp.Chirp(...
    'TargetFrequency', 10, ...
    'InitialFrequency', 0,...
    'TargetTime', 10, ...
    'SweepTime', 10, ...
    'SamplesPerFrame', 10000, ...
    'SampleRate', 1000);

plot(hChirp()); set(gcf, 'color', 'w'), grid on;
title('Chirp to 10 Hz')

在此示例中给出以下输出: 啁啾至 10 Hz

您可以参考文档以获取更多详细信息。这应该是定义信号的更严格的方法。


推荐阅读