MATLAB编程实现完成1个周期三角波信号的分解和合成(设 um为三角波幅度,T为其周期,编程时,请自己定义um,T的数值), 将自己的实验结果与以下结果进行比较。 提示: 1)先构造幅值为um,周期为T的三角波,写出数学表达式,编程 实现

动态 未结 0 132
小小草
小小草 LV1 2023年9月23日 23:40 发表
um = 1; % 三角波幅度 T = 1; % 三角波周期 % 构造三角波信号 t = linspace(0, T, 1000); x = zeros(size(t)); for n = 1:2:9 x = x + (4*um/(n^2*pi^2))*sin(n*2*pi*t/T); end % 绘制三角波信号 subplot(2,1,1); plot(t, x); title('Original Signal'); % 进行傅里叶级数展开 N = 5; % 展开的级数 f = zeros(size(t)); for n = 1:N f = f + (4*um/(n^2*pi^2))*sin(n*2*pi*t/T); end % 绘制展开后的信号 subplot(2,1,2); plot(t, f); title(['Reconstructed Signal (', num2str(N), ' terms)']); % 输出分解和合成结果 disp('Signal Decomposition:'); for n = 1:N disp(['a', num2str(n), ' = ', num2str((4*um/(n^2*pi^2))*(-1)^((n-1)/2))]); end disp('Signal Reconstruction:'); disp(['f(t) = ', num2str(um/2), ' + ']); for n = 1:N disp([num2str((4*um/(n^2*pi^2))*(-1)^((n-1)/2)), '*sin(', num2str(n), '*2*pi*t/', num2str(T), ') + ']); end
收藏(0)  分享
相关标签: 智能问答
问题没解决?让AI助手帮你作答 AI助手
0个回复
  • 消灭零回复