周期矩形波的傅里叶级数展开(Matlab代码实现)

👨‍🎓 个人主页: 研学社的博客
💥 💥 💞 💞 欢迎来到本博客 ❤️ ❤️ 💥 💥


🏆 博主优势: 🌞 🌞 🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

座右铭:行百里者,半于九十。

📋 📋 📋 本文目录如下: 🎁 🎁 🎁
目录
💥1 概述
📚2 运行结果
🎉3 参考文献
🌈4 Matlab代码实现

💥1 概述

当脉冲信号周期不变,脉冲宽度变大时,相邻谱线间隔不变,频谱包络线的零点频率逐渐变小,反之则变大。另外频谱中各频率点谱线的幅值与脉宽有关;当信号周期不变时,脉宽越宽,频率点频谱的幅值越大。频谱图的格式错误,改程序后,结果正确。

📚2 运行结果

部分代码:clear all

close all

clc

for j=1:3

N=10^j;

t=[0:0.01:10];

signal=zeros(1,size(t,2));

for i=1:N-1

harmonics(i,:)=(2*(1-(-1)^i)/(pi*i))*(sin(pi*i*t/1));

signal=signal+harmonics(i,:);

end

subplot(3,1,j),plot(t,real(signal))

% subplot(3,1,j),plot(t,imag(signal))

end

close all

clc

for j=1:3

N=10^j;

t=[0:0.01:10];

signal=zeros(1,size(t,2));

for i=1:N-1

harmonics(i,:)=(2*(1-(-1)^i)/(pi*i))*(sin(pi*i*t/1));

signal=signal+harmonics(i,:);

end

subplot(3,1,j),plot(t,real(signal))

% subplot(3,1,j),plot(t,imag(signal))

end

close all

clc

for j=1:3

N=10^j;

t=[0:0.01:10];

signal=zeros(1,size(t,2));

for i=1:N-1

harmonics(i,:)=(2*(1-(-1)^i)/(pi*i))*(sin(pi*i*t/1));

signal=signal+harmonics(i,:);

end

subplot(3,1,j),plot(t,real(signal))

% subplot(3,1,j),plot(t,imag(signal))

end

close all

clc

for j=1:3

N=10^j;

t=[0:0.01:10];

signal=zeros(1,size(t,2));

for i=1:N-1

harmonics(i,:)=(2*(1-(-1)^i)/(pi*i))*(sin(pi*i*t/1));

signal=signal+harmonics(i,:);

end

subplot(3,1,j),plot(t,real(signal))

% subplot(3,1,j),plot(t,imag(signal))

end

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]司祯祯.傅里叶变换与小波变换在信号去噪中的应用[J].电子设计工程,2011,19(04):155-157.DOI:10.14022/j.cnki.dzsjgc.2011.04.032.

🌈4 Matlab代码实现

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
周期矩形脉冲信号的数学表达式为: $$ f(t) = \frac{A}{T} \sum_{n=-\infty}^{\infty} \mathrm{rect}\left(\frac{t-nT}{\tau}\right) $$ 其中,$A$ 为矩形脉冲的幅度,$T$ 为矩形脉冲的周期,$\tau$ 为矩形脉冲的宽度,$\mathrm{rect}(x)$ 为矩形函数,即: $$ \mathrm{rect}(x) = \begin{cases} 1, & |x| < \frac{1}{2} \\ 0, & |x| \geq \frac{1}{2} \end{cases} $$ 傅立级数的一般形式为: $$ f(t) = \sum_{n=-\infty}^{\infty} c_n e^{j\frac{2\pi}{T}nt} $$ 其中,$c_n$ 为傅立系数,其计算公式为: $$ c_n = \frac{1}{T} \int_{-T/2}^{T/2} f(t) e^{-j\frac{2\pi}{T}nt} dt $$ 将周期矩形脉冲信号代入上式,得到: $$ c_n = \frac{A}{T} \int_{-T/2}^{T/2} \mathrm{rect}\left(\frac{t}{\tau}\right) e^{-j\frac{2\pi}{T}nt} dt $$ 整理得: $$ c_n = A \mathrm{sinc}\left(\frac{n\tau}{T}\right) $$ 其中,$\mathrm{sinc}(x) = \frac{\sin(\pi x)}{\pi x}$。 因此,周期矩形脉冲信号的傅立级数形式为: $$ f(t) = \sum_{n=-\infty}^{\infty} A \mathrm{sinc}\left(\frac{n\tau}{T}\right) e^{j\frac{2\pi}{T}nt} $$ 在 MATLAB 中,可以用以下代码计算周期矩形脉冲信号的傅立级数: ```matlab % 定义信号参数 A = 1; % 幅度 T = 1; % 周期 tau = 0.2; % 宽度 % 计算傅立系数 n = -10:10; cn = A * sinc(n*tau/T); % 计算傅立级数 t = -5:0.01:5; f = zeros(size(t)); for i = 1:length(n) f = f + cn(i) * exp(1j*2*pi*n(i)/T*t); end % 绘制信号和傅立级数 subplot(2,1,1); plot(t, A * rectpuls(t/tau) ); xlabel('t'); ylabel('f(t)'); title('周期矩形脉冲信号'); subplot(2,1,2); plot(t, real(f), t, imag(f) ); xlabel('t'); ylabel('f(t)'); title('傅立级数'); legend('实部', '虚部'); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值