matlab - 音调发生器
matlab - Tone generator
我正在尝试使用默认函数通过 matlab 生成 DTMF 音调,例如按钮 5,但一点运气都没有。代码是:
button5= sin(0.5906*n)+sin(1.0247*n); This line of code is obligated.
n=linspace (-1, 1, 1000);
Fs = 8192;
button5 = sin(0.5906*n)+sin(1.0247*n);
sound(button5, Fs);
请问有什么建议吗?
为了更好地解释:
- 这是按钮的 table 矩阵,按钮 5 的一般代码是:d5[n] = sin(0.5906n) + sin(1.0247n)
我对您的代码有点困惑,因为我更喜欢用另一种方式来表述它。正如@Daniel 所说,问题是使用 1000 个样本来标准化频率。
此代码应该有效:
Fs = 8192;
n = [0:10000];
t = n/Fs;
button5 = sin(2*pi*770*t)+sin(2*pi*1336*t);
sound(button5/max(button5) ,Fs)
尝试数字的一些组合,我意识到 Ω 是预先计算的 2*pi*f/FS
,其中 f 是频率。
这是一个版本,只是重写了 dubafek 的答案并替换了一些变量:
f=[770 1336];
Fs = 8192;
n = [0:10000];
omega=2.*pi.*f./Fs;
button5 = sin(omega(1)*n)+sin(omega(2)*n);
button5=button5/max(button5(:));
sound(button5, Fs);
其中,用常量替换 omega 导致:
Fs = 8192;
n = [0:10000];
button5 = sin(0.5906*n)+sin(1.0247*n);
button5=button5/max(button5(:));
sound(button5, Fs);
结果的微小差异是因为第二种情况中的常量 omega 四舍五入。现在有了解决方案,我意识到您的问题中只缺少一个简单的信息,n
是一个包含自然数的向量。
我正在尝试使用默认函数通过 matlab 生成 DTMF 音调,例如按钮 5,但一点运气都没有。代码是:
button5= sin(0.5906*n)+sin(1.0247*n); This line of code is obligated.
n=linspace (-1, 1, 1000);
Fs = 8192;
button5 = sin(0.5906*n)+sin(1.0247*n);
sound(button5, Fs);
请问有什么建议吗?
为了更好地解释:
- 这是按钮的 table 矩阵,按钮 5 的一般代码是:d5[n] = sin(0.5906n) + sin(1.0247n)
我对您的代码有点困惑,因为我更喜欢用另一种方式来表述它。正如@Daniel 所说,问题是使用 1000 个样本来标准化频率。
此代码应该有效:
Fs = 8192;
n = [0:10000];
t = n/Fs;
button5 = sin(2*pi*770*t)+sin(2*pi*1336*t);
sound(button5/max(button5) ,Fs)
尝试数字的一些组合,我意识到 Ω 是预先计算的 2*pi*f/FS
,其中 f 是频率。
这是一个版本,只是重写了 dubafek 的答案并替换了一些变量:
f=[770 1336];
Fs = 8192;
n = [0:10000];
omega=2.*pi.*f./Fs;
button5 = sin(omega(1)*n)+sin(omega(2)*n);
button5=button5/max(button5(:));
sound(button5, Fs);
其中,用常量替换 omega 导致:
Fs = 8192;
n = [0:10000];
button5 = sin(0.5906*n)+sin(1.0247*n);
button5=button5/max(button5(:));
sound(button5, Fs);
结果的微小差异是因为第二种情况中的常量 omega 四舍五入。现在有了解决方案,我意识到您的问题中只缺少一个简单的信息,n
是一个包含自然数的向量。