【问题标题】:Creating Sine Waves Within MatLab在 MatLab 中创建正弦波
【发布时间】:2013-11-16 10:24:09
【问题描述】:

我正在尝试基于此函数在 MatLab 中创建正弦波音频信号:

到目前为止,我已经创建了一个向量 x,它从 0 开始,从 0.1 递增到 10

接下来是:

y = 3*sin(x(2*pi/4))+2;

我已将 x 乘以 2*pi/4 以将周期调整为其大小的四分之一,但我在索引为正数时出错。

此外,是否有可能实际创建特定 Hz 的信号。例如,如果我想要一个 800Hz 的正弦波?

【问题讨论】:

标签: matlab signal-processing trigonometry


【解决方案1】:

此代码创建一个特定 Hz 的信号并播放它。

%duration [s]
T=1;
%sample rate [Hz] Supported by SoundCard (16000,48000,96000,192000)
Fs = 48000;
%samples
N = T*Fs;
%samples vector
t = 0 : 1/Fs : T;
%Frequency [Hz]
Fn = 800;
%Signal
y = sin(Fn*2*pi*t);
plot(t,y);
%Play sound
sound(y,Fs);

【讨论】:

    【解决方案2】:

    你的乘法不正确。注意细微差别

    y = 3*sin(x(2*pi/4))+2;
    

    以及你想要的(注意缺少的乘法)

    y = 3*sin(x*(2*pi/4))+2;
               ^
               ^
    

    【讨论】:

      猜你喜欢
      • 2010-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多