周波数50Hz、振幅50の正弦波が必要です。さらに、正弦波に沿って三角波リップル(+10〜-10)と1000Hzの周波数が必要です。matlabにリップルを持つ正弦波信号を生成する方法はありますか?
平均値は正弦波ですが、実際の波形はリップルではありません(つまり、三角形で脈動します)。オリジナルの波形は、私は次を続行する方法がわからない正弦波
`
f_inv_ac = 50;
fs_inv = 1e3;
p_inv_ac = 150e3; % power in Watt
u_inv_ac_rms = 400; % output voltage (RMS) in V
i_inv_ac_rms = p_inv_ac/u_inv_ac_rms/sqrt(3);
t_inv_ac = 1/f_inv_ac; % Inverter output period in s
ts_inv = 1/fs_inv; % Inverter switching period in s
vector_calc = zeros(1, num_inv_switch);
t_inv = vector_calc;
angle_inv_rn = vector_calc;
for i = 1:num_inv_switch
t_inv(i) = i*ts_inv;
angle_inv_rn(i) = 2*pi*t_inv(i)/t_inv_ac;
end
u_inv_ac_rn = u_inv_ac_rms*sqrt(2/3)*sin(angle_inv_rn); % R-N voltage
i_inv_ac_r = i_inv_ac_rms*sqrt(2)*sin(angle_inv_rn); % R current
figure
plot(t_inv*1e3,i_inv_ac_r)
%% for ripple calulation
fs_inv = 1e3; % frequency ripple
% current ripple
delta_i_inv_r = zeros(1, num_inv_switch);
% current peak-value
i_peak_inv_r = zeros(1, num_inv_switch);
% current bottom-value
i_bottom_inv_r = zeros(1, num_inv_switch);
% Current ripple (peak-to-peak) (in version 1.00 no ripple considered)
delta_i_inv_r(i) = i_inv_ac_r(i)*0.30;
% Current-peak value
i_peak_inv_r(i) = i_inv_ac_r(i) + delta_i_inv_r(i)/2;
i_bottom_inv_r(i) = i_inv_ac_r(i) - delta_i_inv_r(i)/2;`
形で三角形の伝播(移動)です。
あなたはすでに何を試してみましたか?あなたのサンプリング周波数は何ですか?既存のコードはありますか? – hbaderts
完全な質問は申し訳ありません。新しいスタックオーバーフロー。私はすぐに私のコードを更新します。 –