現在下記のプログラムを作成しており、繰り返し波形に対し周波数を変化させた正弦波を乗算するプログラムを作りたいのですがのこぎりのような波形になってしまい上手く振幅変調ができません。
%% Read Audio File
[y,Fs]=audioread('piano_ra_2.wav');
dt=1/Fs;
duration=(length(y))*(1/Fs);
%% Cut Waveform
f0=439.8;
period=1/f0;
n0=floor(length(y)/2);
n=round(period/dt);
y_one_period=y([n0:n0+n]);
n_period_1=860;
f_lo=5;
T=0.8*(1/f_lo);
y2=repmat(y_one_period,[n_period_1,1]);
t2=1/Fs:1/Fs:43860*(1/Fs);
y_lo=((1/9)*cos(2*pi*(1/T)*t2))+1;
figure;
plot(t2,y_lo);
set(gca,'FontSize',15);
xlabel('Time (s)','FontSize',25)
ylabel('Relative Amplitude','FontSize',25)
%% rand関数を用いた正規分布の作成(平均値と分散)
va=2;
r=va.*randn(20,1)+6.25;
histogram(r);
%% 20周期単位に周波数変更
r1=6.3849;
r2=5.8758;
r3=6.8335;
r4=8.2254;
r5=7.0359;
r6=6.6391;
r7=6.8096;
r8=6.3524;
r9=4.7011;
r10=7.8236;
r11=9.0678;
r12=5.1818;
r13=10.1055;
r14=5.8975;
r15=5.7625;
r16=4.4548;
r17=4.6653;
r18=4.3441;
r19=6.9578;
r20=9.4441;
a=1/9;
n_period_2=43;
y3=repmat(y_one_period,[n_period_2,1]);
t3=1/Fs:1/Fs:(43860/20)*(1/Fs);
y_r1=a*cos(2*pi*r1*t3)+1;
y_r2=a*cos(2*pi*r2*t3)+1;
y_r3=a*cos(2*pi*r3*t3)+1;
y_r4=a*cos(2*pi*r4*t3)+1;
y_r5=a*cos(2*pi*r5*t3)+1;
y_r6=a*cos(2*pi*r6*t3)+1;
y_r7=a*cos(2*pi*r7*t3)+1;
y_r8=a*cos(2*pi*r8*t3)+1;
y_r9=a*cos(2*pi*r9*t3)+1;
y_r10=a*cos(2*pi*r10*t3)+1;
y_r11=a*cos(2*pi*r11*t3)+1;
y_r12=a*cos(2*pi*r12*t3)+1;
y_r13=a*cos(2*pi*r13*t3)+1;
y_r14=a*cos(2*pi*r14*t3)+1;
y_r15=a*cos(2*pi*r15*t3)+1;
y_r16=a*cos(2*pi*r16*t3)+1;
y_r17=a*cos(2*pi*r17*t3)+1;
y_r18=a*cos(2*pi*r18*t3)+1;
y_r19=a*cos(2*pi*r19*t3)+1;
y_r20=a*cos(2*pi*r20*t3)+1;
figure;
plot(t3,y_r1);
set(gca,'FontSize',15);
xlabel('Time (s)','FontSize',25)
ylabel('Relative Amplitude','FontSize',25)
x_r=[y_r1,y_r2,y_r3,y_r4,y_r5,y_r6,y_r7,y_r8,y_r9,y_r10,y_r11,y_r12,y_r13,y_r14,y_r15,y_r16,y_r17,y_r18,y_r19,y_r20];
y_len=20*length(t3);
y_r=0:y_len-1;
figure;
plot(y_r,x_r);
set(gca,'FontSize',15);
xlabel('Time (s)','FontSize',25)
ylabel('Relative Amplitude','FontSize',25)
t4=1/Fs:1/Fs:43860*(1/Fs);
figure;
plot(t4,y_r);
set(gca,'FontSize',15);
xlabel('Time (s)','FontSize',25)
ylabel('Relative Amplitude','FontSize',25)
%% 混合器
y2=y2.';
mix_r=y2.*y_r;
figure;
plot(t4,mix_r);
set(gca,'FontSize',15);
xlabel('Time (s)','FontSize',25)
ylabel('Relative Amplitude','FontSize',25)