在MatLab中创建正弦波

时间:2013-11-16 10:24:10

标签: matlab signal-processing trigonometry

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

Sinusoidal Functions

到目前为止,我已创建了一个以x开头的向量00.1的增量为10

其次是:

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

我已将x乘以2*pi/4,以便将期间大小调整为其大小的四分之一,但我对索引为正数的错误。

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

2 个答案:

答案 0 :(得分:4)

此代码以特定的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);

答案 1 :(得分:3)

你没有正确倍增。注意细微差别

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

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

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