如何在matlab中生成具有纹波的正弦信号?

如何在matlab中生成具有纹波的正弦信号?,matlab,Matlab,我需要一个频率为50赫兹,振幅为50的正弦波。此外,我需要一个(+10到-10)的三角形纹波和沿正弦波的1000 Hz频率,如下所示 平均值为正弦波,而非实际波形为波纹(即以三角形形式脉动)。原始波形是以正弦波形式传播(移动)的三角形 ` 我不知道下一步该怎么做 我认为在你的例子中,你想用锯齿波的频率和振幅进行实验 amplitude=1; amplitude2=0.1; amplitude3=0.3; t=1:0.01:10; frequency=0.1; frequency2=1; fre

我需要一个频率为50赫兹,振幅为50的正弦波。此外,我需要一个(+10到-10)的三角形纹波和沿正弦波的1000 Hz频率,如下所示

平均值为正弦波,而非实际波形为波纹(即以三角形形式脉动)。原始波形是以正弦波形式传播(移动)的三角形

`


我不知道下一步该怎么做

我认为在你的例子中,你想用
锯齿波的频率和振幅进行实验

amplitude=1;
amplitude2=0.1;
amplitude3=0.3;
t=1:0.01:10;
frequency=0.1;
frequency2=1;
frequency3=4;
sinusoid = amplitude * (sin(frequency * 2 * pi * t));

sinusoid2 = sinusoid + amplitude2 * (sin(frequency2 * 2 * pi * t));

square_wave_1 = sinusoid + amplitude2 * square(frequency2*2*pi*t,50);

square_wave_2 = sinusoid + amplitude2 * square(frequency2*2*pi*t,33);

sawtooth = sinusoid + amplitude3 * sawtooth(frequency3*pi*t);


figure;hold on
plot(t,sinusoid)
plot(t,sinusoid2,'k')
plot(t,square_wave_1,'r')
plot(t,square_wave_2,'g')
plot(t,sawtooth,'c')

注意,对于某些频率和振幅,我的锯齿代码看起来不好。。小心点

我认为在你的例子中,你想用
锯齿波的频率和振幅进行实验

amplitude=1;
amplitude2=0.1;
amplitude3=0.3;
t=1:0.01:10;
frequency=0.1;
frequency2=1;
frequency3=4;
sinusoid = amplitude * (sin(frequency * 2 * pi * t));

sinusoid2 = sinusoid + amplitude2 * (sin(frequency2 * 2 * pi * t));

square_wave_1 = sinusoid + amplitude2 * square(frequency2*2*pi*t,50);

square_wave_2 = sinusoid + amplitude2 * square(frequency2*2*pi*t,33);

sawtooth = sinusoid + amplitude3 * sawtooth(frequency3*pi*t);


figure;hold on
plot(t,sinusoid)
plot(t,sinusoid2,'k')
plot(t,square_wave_1,'r')
plot(t,square_wave_2,'g')
plot(t,sawtooth,'c')

注意,对于某些频率和振幅,我的锯齿代码看起来不好。。小心点

我将在不使用您的代码的情况下回答这个问题,希望您不要生气,但是很难理解您的所有变量,而且您的一些变量丢失,我无法运行您的代码:

首先,让我们创建一个范围:

t = 0:0.00001:0.1; %test range - change 0.00001 to get more samples.
y=50*sin(2*pi*50*t); %generated simple Sine wave
% generate Triangle wave
period=1/2000; % same as 1/frequency in your case, 2000Hz
phase=0; % 0 unless you want it phase shifted
ratio=0.5; % 50:50 ratio, if you want sawtooth use 0.99
amp=20*1.25; %generates the 0 to 20 range for triangle wave
u1=rem(t+phase*period/(2*pi)+period,period);
s=(u1<=period*ratio).*u1*amp/(period*ratio)+(u1>period*ratio).*(period-u1)*amp/(period*(1-ratio))-10; %NOTE this is actually Simulink's triangle wave generator

%combine them
z = s+y;

figure
plot(t,y,'r')
hold on
plot(t,z)
t=0:0.00001:0.1;%测试范围-更改0.00001以获得更多样本。
y=50*sin(2*pi*50*t);%产生简单正弦波
%产生三角波
期间=1/2000;%与您案例中的1/频率相同,2000Hz
相位=0;%0,除非您希望它相移
比率=0.5;%50:50的比例,如果你想要锯齿形,使用0.99
amp=20*1.25;%生成三角波的0到20范围
u1=rem(t+相位*周期/(2*pi)+周期,周期);
s=(u1周期*比率)。*(周期-u1)*amp/(周期*(1比率))-10;%注意,这实际上是Simulink的三角波发生器
%把它们结合起来
z=s+y;
图形
图(t,y,'r')
等等
图(t,z)

我将在不使用您的代码的情况下回答这个问题,我希望您不要生气,但是很难理解您的所有变量,而且您的一些变量丢失,我无法运行您的代码:

首先,让我们创建一个范围:

t = 0:0.00001:0.1; %test range - change 0.00001 to get more samples.
y=50*sin(2*pi*50*t); %generated simple Sine wave
% generate Triangle wave
period=1/2000; % same as 1/frequency in your case, 2000Hz
phase=0; % 0 unless you want it phase shifted
ratio=0.5; % 50:50 ratio, if you want sawtooth use 0.99
amp=20*1.25; %generates the 0 to 20 range for triangle wave
u1=rem(t+phase*period/(2*pi)+period,period);
s=(u1<=period*ratio).*u1*amp/(period*ratio)+(u1>period*ratio).*(period-u1)*amp/(period*(1-ratio))-10; %NOTE this is actually Simulink's triangle wave generator

%combine them
z = s+y;

figure
plot(t,y,'r')
hold on
plot(t,z)
t=0:0.00001:0.1;%测试范围-更改0.00001以获得更多样本。
y=50*sin(2*pi*50*t);%产生简单正弦波
%产生三角波
期间=1/2000;%与您案例中的1/频率相同,2000Hz
相位=0;%0,除非您希望它相移
比率=0.5;%50:50的比例,如果你想要锯齿形,使用0.99
amp=20*1.25;%生成三角波的0到20范围
u1=rem(t+相位*周期/(2*pi)+周期,周期);
s=(u1周期*比率)。*(周期-u1)*amp/(周期*(1比率))-10;%注意,这实际上是Simulink的三角波发生器
%把它们结合起来
z=s+y;
图形
图(t,y,'r')
等等
图(t,z)

您已经尝试过什么?你的采样频率是多少?你有任何现有的代码吗?很抱歉完整的问题。新的堆栈溢出。我将很快更新我的代码。你已经尝试了什么?你的采样频率是多少?你有任何现有的代码吗?很抱歉完整的问题。新的堆栈溢出。我将很快更新我的代码。你的锯齿波叠加看起来不太正确,你可能想要修复它。我以前用图像作为参考。概述我面临的问题。谢谢你的回答。但问题仍然没有解决。你叠加的锯齿波看起来不太正确,你可能想修复它。我以前用图像作为参考。概述我面临的问题。谢谢你的回答。问题仍然没有解决。谢谢。我将在我的代码中实现它。我认为这是有帮助的。在我的实现之后,我会更新您。@grandhisrujan不客气,我想您只需要知道第三部分,它通过添加创建叠加来组合它们,并通过元素方式的乘积来组合它们创建调制。此外,如果您认为答案正确且有帮助,请接受以下答案:谢谢。我将在我的代码中实现它。我认为这是有帮助的。在我的实现之后,我会更新您。@grandhisrujan不客气,我想您只需要知道第三部分,它通过添加创建叠加来组合它们,并通过元素方式的乘积来组合它们创建调制。此外,如果您认为答案正确且有帮助,请接受以下答案:D