数字信号处理及MATLAB实践 二
文章目录
前言
- 三角函数正交性
- 周期为2pi的周期函数展开为三角函数级数
- 将周期为2pi拓展为2L的周期函数展开为三角级数
- 周期信号的表示以及频谱求解
1.2 连续周期信号的傅里叶级数及MATLAB实践
一、数学推导
三角函数正交系
{1, cosx, sinx, cos2x, sin2x, …, cosnx, sinnx, …}
任意两个不同函数之积在[-π, π]上的积分为0;且有
将周期为2π的周期函数展开为三角级数
将周期为2π的函数,推广到周期为2L周期函数
周期信号的表示以及频谱求解
二、实例
将周期T=4的矩形周期序列展开为三角级数
代码如下(示例):
T = 4;
t = 0 : 0.01 : 2*T;
duty = 50; %占空比:信号为正的区域在一个周期内所占的百分比
y = square(2 * pi / T * t, duty); %square(wt, duty) 周期T = 2PI / W
subplot(2,2,1);
代码如下(示例):
T = 4;
t = 0 : 0.01 : 2*T;
duty = 50; %占空比:信号为正的区域在一个周期内所占的百分比
y = square(2 * pi / T * t, duty); %square(wt, duty) 周期T = 2PI / W
subplot(2,2,1);
>代码如下(示例):
%占空比 duty=1/2的单位周期方波 squate方波函数组成
function x = squ_timefun( t, T )
% 产生周期方波序列
% t是时间数组
% T是周期
syms x; %申明变量x
n = 10; %谐波阶数
T = 4;
t = 0 : 0.01 : 2*T;
duty = 50; %占空比:信号为正的区域在一个周期内所占的百分比
y = max(square(2 * pi / T * t, duty), 0); %square(wt, duty) 周期T = 2PI / W
subplot(2,2,1);
plot(t, y)
grid on;
hold on;
title('连续时间函数—周期方波脉冲');
A0 = 1/2; %根据函数可以直接算出
Fx = 0;
for i=1:n
An = int(2 * cos(2 * i * pi * x / T) / T, x, 0, T/2);
Bn = int(2 * sin(2 * i * pi * x / T) / T, x, 0, T/2);
Fx = Fx + An * cos(2 * i * pi * t / T) + Bn * sin(2 * i * pi * t / T);
end
Fx = Fx + A0;
plot(t, Fx);
end
遗留
- 1.3 连续时间周期信号的频谱分析及MATLAB实践