如果一个以
为周期的函数
在
![\bigg[-\frac{T}{2}, \frac{T}{2}\bigg]](https://javaforall.net/wp-content/uploads/2020/11/2020110817443450.jpg)
上满足狄利克雷条件,即:
1.除去有限个第一类间断点外,处处连续
2.分段单调,单调区间的个数有限
则
的fourier级数表示为:
![f(t)\approx \frac{a_0}{2}+\sum_{n=1}^{\infty }\bigg[a_ncos(n\omega_0t) + b_nsin(n\omega_0t)\bigg]](https://javaforall.net/wp-content/uploads/2020/11/2020110817443450.jpg)
在
![\bigg[-\frac{T}{2}, \frac{T}{2}\bigg]](https://javaforall.net/wp-content/uploads/2020/11/2020110817443450.jpg)
上处处收敛,且在
的连续点处收敛于
, 其中,

对上式两边求积分:
![\\ \int_{-\frac{T}{2}}^{\frac{T}{2}}f(t)dt=\int_{-\frac{T}{2}}^{\frac{T}{2}}\bigg(\frac{a_0}{2}+\sum_{n=1}^{\infty }\bigg[a_ncos(n\omega_0t) + b_nsin(n\omega_0t)\bigg]\bigg) dt=\int_{-\frac{T}{2}}^{\frac{T}{2}}\frac{a_0}{2}dt\\=\frac{a_0}{2}\cdot T](https://javaforall.net/wp-content/uploads/2020/11/2020110817443450.jpg)
所以:

对于
![\\ \int_{-\frac{T}{2}}^{\frac{T}{2}}f(t)cos(m\omega_0t)dt=\int_{-\frac{T}{2}}^{\frac{T}{2}}\bigg(\frac{a_0}{2}+\sum_{n=1}^{\infty }\bigg[a_ncos(n\omega_0t) + b_nsin(n\omega_0t)\bigg]\bigg)cos(m\omega_0t) dt\\=0+a_n\int_{-\frac{T}{2}}^{\frac{T}{2}}cos^2(n\omega_0t)dt=a_n\int_{-\frac{T}{2}}^{\frac{T}{2}}\frac{1+cos(2n\omega_0t)}{2}dt=a_n\int_{-\frac{T}{2}}^{\frac{T}{2}}\frac{1}{2}dt +a_n\int_{-\frac{T}{2}}^{\frac{T}{2}} \frac{cos(2n\omega_0 t)}{2}dt\\=a_n\int_{-\frac{T}{2}}^{\frac{T}{2}}\frac{1}{2}dt +a_n\int_{-\frac{T}{2}}^{\frac{T}{2}} \frac{cos(2n\omega_0 t)}{4n\omega_0}d(2n\omega_0 t)=\frac{a_n}{2}\bigg|_{-\frac{T}{2}}^{\frac{T}{2}}+\frac{a_n}{4n\omega_0}sin(2n\omega_0t)\bigg|_{-\frac{T}{2}}^{\frac{T}{2}}\\=a_n\cdot \frac{T}{2}+0](https://javaforall.net/wp-content/uploads/2020/11/2020110817443450.jpg)
所以:

![\\ \int_{-\frac{T}{2}}^{\frac{T}{2}}f(t)sin(m\omega_0t)dt=\int_{-\frac{T}{2}}^{\frac{T}{2}}\bigg(\frac{a_0}{2}+\sum_{n=1}^{\infty }\bigg[a_ncos(n\omega_0t) + b_nsin(n\omega_0t)\bigg]\bigg)sin(m\omega_0t) dt\\=0+b_n\int_{-\frac{T}{2}}^{\frac{T}{2}}sin^2(n\omega_0t)dt=b_n\int_{-\frac{T}{2}}^{\frac{T}{2}}\frac{1-cos(2n\omega_0t)}{2}dt=b_n\int_{-\frac{T}{2}}^{\frac{T}{2}}\frac{1}{2}dt -b_n\int_{-\frac{T}{2}}^{\frac{T}{2}} \frac{cos(2n\omega_0 t)}{2}dt\\=b_n\int_{-\frac{T}{2}}^{\frac{T}{2}}\frac{1}{2}dt - b_n\int_{-\frac{T}{2}}^{\frac{T}{2}} \frac{cos(2n\omega_0 t)}{4n\omega_0}d(2n\omega_0 t)=\frac{b_n}{2}\bigg|_{-\frac{T}{2}}^{\frac{T}{2}}-\frac{b_n}{4n\omega_0}sin(2n\omega_0t)\bigg|_{-\frac{T}{2}}^{\frac{T}{2}}\\=b_n\cdot \frac{T}{2}+0](https://javaforall.net/wp-content/uploads/2020/11/2020110817443450.jpg)
所以:

综上:



在电子通信领域,常常利用欧拉公式:


所以:
![\\f(t)\approx \frac{a_0}{2}+\sum_{n=1}^{\infty }\bigg[a_ncos(n\omega_0t) + b_nsin(n\omega_0 t)\bigg]\\=\frac{a_0}{2}+\sum_{n=1}^{\infty }\bigg[ \frac{a_n}{2}(e^{in\omega_0 t}+e^{-in\omega_0 t})-i\cdot \frac{b_n}{2}(e^{in\omega_0 t}-e^{-in\omega_0 t})\bigg]\\=\frac{a_0}{2}+\sum_{n=1}^{\infty }\bigg[ \frac{a_n-ib_n}{2}e^{in\omega_0 t}+\frac{a_n+ib_n}{2}e^{-in\omega_0 t}\bigg]](https://javaforall.net/wp-content/uploads/2020/11/2020110817443450.jpg)
令:



得到fourier级数的复指数形式:
![\\f(t)\approx\frac{a_0}{2}+\sum_{n=1}^{\infty }\bigg[ \frac{a_n-ib_n}{2}e^{in\omega_0 t}+\frac{a_n+ib_n}{2}e^{-in\omega_0 t}\bigg]\\= c_0+\sum_{n=1}^{\infty }\bigg(c_ne^{in\omega_0 t} + c_{-n}e^{-in\omega_0 t}\bigg)=\sum_{n=-\infty}^{\infty}C_ne^{in\omega_0 t}](https://javaforall.net/wp-content/uploads/2020/11/2020110817443450.jpg)
这里面:

![\\C_n=\frac{a_n-ib_n}{2}=\frac{1}{2}\cdot \frac{2}{T}\bigg[\int^{\frac{T}{2}}_{-\frac{T}{2}}f(t)cos(n\omega_0 t)dt-i\int^{\frac{T}{2}}_{-\frac{T}{2}}f(t)sin(n\omega _0 t)dt\bigg] \\=\frac{1}{T}\int^{\frac{T}{2}}_{-\frac{T}{2}}f(t)\bigg[cos(n\omega_0 t)-isin(n\omega_0 t)\bigg]dt=\frac{1}{T}\int^{\frac{T}{2}}_{-\frac{T}{2}}f(t)e^{-in\omega_0 t}dt \quad (n=1,2, 3, \cdots)](https://javaforall.net/wp-content/uploads/2020/11/2020110817443450.jpg)
同理:

上面的
写为统一的形式为:

令

则综合上面各式,可得:
![\mathbf{f(t)\approx\frac{1}{T}\sum_{n=-\infty }^{\infty}\bigg[ \int^{\frac{T}{2}}_{-\frac{T}{2}}f(t)e^{-i\omega _nt}dt\bigg]e^{i\omega _n t}}](https://javaforall.net/wp-content/uploads/2020/11/2020110817443450.jpg)
拆分后得到傅里叶级数形式:


傅里叶级数推导出非周期信号的傅里叶变换:
![\\f(t)=\sum_{n=-\infty}^{\infty }F(n)\cdot e^{in\omega_0 t}=\sum_{n=-\infty}^{\infty }\bigg[\frac{1}{T}\int_{-\frac{T}{2}}^{\frac{T}{2}}f(t)e^{-in\omega_0 t}dt\bigg]\cdot e^{in\omega_0 t}\\=\frac{1}{T}\sum_{n=-\infty}^{\infty }\bigg[\int_{-\frac{T}{2}}^{\frac{T}{2}}f(t)e^{-in\omega_0 t}dt\bigg]\cdot e^{in\omega_0 t}](https://javaforall.net/wp-content/uploads/2020/11/2020110817443450.jpg)
当
时,周期信号变为非周期信号,由于
, 傅里叶级数为:
![\\ \lim_{T \to \infty }f(t)=\lim_{T \to \infty }\frac{1}{T}\sum_{n=-\infty}^{\infty }\bigg[\int_{-\frac{T}{2}}^{\frac{T}{2}}f(t)e^{-in\omega_0 t}dt\bigg]\cdot e^{in\omega_0 t}\\=\lim_{T \to \infty }\frac{\omega_0}{2\pi}\sum_{n=-\infty}^{\infty }\bigg[\int_{-\frac{T}{2}}^{\frac{T}{2}}f(t)e^{-in\omega_0 t}dt\bigg]\cdot e^{in\omega_0 t}\\=\lim_{T \to \infty }\frac{1}{2\pi}\sum_{n=-\infty}^{\infty }\bigg[\int_{-\frac{T}{2}}^{\frac{T}{2}}f(t)e^{-in\omega_0 t}dt\bigg]\cdot e^{in\omega_0 t}\cdot \omega_0](https://javaforall.net/wp-content/uploads/2020/11/2020110817443450.jpg)
当
时候,
根据微积分的微元法,外面的累加可以看成求底边为
,高为
![\bigg[\int_{-\frac{T}{2}}^{\frac{T}{2}}f(t)e^{-in\omega_0 t}dt\bigg]\cdot e^{in\omega_0 t}](https://javaforall.net/wp-content/uploads/2020/11/2020110817443450.jpg)
的图形的面积:

![\\ \lim_{T \to \infty }f(t)=\lim_{T \to \infty }\frac{1}{T}\sum_{n=-\infty}^{\infty }\bigg[\int_{-\frac{T}{2}}^{\frac{T}{2}}f(t)e^{-in\omega_0 t}dt\bigg]\cdot e^{in\omega_0 t}\\=\lim_{T \to \infty }\frac{\omega_0}{2\pi}\sum_{n=-\infty}^{\infty }\bigg[\int_{-\frac{T}{2}}^{\frac{T}{2}}f(t)e^{-in\omega_0 t}dt\bigg]\cdot e^{in\omega_0 t}\\=\lim_{T \to \infty }\frac{1}{2\pi}\sum_{n=-\infty}^{\infty }\bigg[\int_{-\frac{T}{2}}^{\frac{T}{2}}f(t)e^{-in\omega_0 t}dt\bigg]\cdot e^{in\omega_0 t}\cdot \omega_0\\=\frac{1}{2\pi}\int_{-\infty }^{\infty}\bigg[\int_{-\infty }^{\infty}f(t)e^{-i\omega t}dt\bigg]e^{i\omega t}d\omega \uad (-\infty<\omega< \infty )](https://javaforall.net/wp-content/uploads/2020/11/2020110817443450.jpg)
所以:


一个真实的时钟信号傅里叶级数变换的例子:

此函数的解析式是:



函数图形为:

python代码:
# -*- coding: utf-8 -*- """ Created on Mon Feb 1 13:57:21 2021 @author: czl """ from pylab import * x = mgrid[-20:20:0.01] def fourier_wave(): a0 = 3/16 s=a0 for n in range(1,1000,1): bn = 0 an = 2*sin((2*n*pi*1.5/16))/(n*pi) s0 = an*cos(n*x*(2*pi/16))+bn*sin(n*x*(2*pi/16)) s=s+s0 plot(x,s,'orange',linewidth=0.6) title('fourier_transform') show() fourier_wave()
复指数形式的傅里叶变换系数是:


密度谱:

当
下图表示的就是当
这里的负频率的意义是单位圆的旋转方向,并不是普通意义上“负”的概念。
数字电路中的时钟信号时域波形和上图非常相似,它的频谱密度图说明了一个问题,周期性的信号是窄带频谱(频带范围△f远小于中心频率fc,且fc远离零频率的窄带随机信号或窄带噪声,统称为窄带随机过程)。,特定的频率的幅值会很高,这对认证测试来说非常的不利。而一般时钟信号都是周期信号,这在电路中是少不了的。有没有什么办法,改造下时钟的频谱,同时又不影响功能呢?
答案是有的,那就是展频技术。
展频,通常理解,就是将窄带频谱扩展为宽带频谱,让能量不集中到某一个频率点,将能量分散到多个频率点。通过对尖峰时钟进行调制处理,使其从一个窄带时钟信号变为一个具有边带的频谱,将时钟的尖峰能量分散到展频区域的多个频率段,从而达到降低尖峰能量,抑制EMI的效果。
经过展频后的信号,频率并不是“那么固定”,它会在一定范围内移动。所以频谱上,把能量“平均”了。这样,对于EMC (电磁兼容性)上更良好。这在很多对于频率精准度要求不那么高的技术上使用。
我们知道,时钟信号通常都是周期信号,它的频谱就是窄带的,能量集中,如上面的傅里叶级数分析。要想将它的频谱进行扩宽,那肯定要对时钟信号进行改造,如何改造呢?
原本的时钟信号每个周期都是一样的,周期时间长度也一样,为Tclk。我们可以对其进行微调,比如先将每个时钟周期比上一个时钟周期的时间加长一点点,累计n个周期之后,再将每个时钟周期比上一个时钟周期缩短一点点,再累计n个周期,如此循环。
这样时间一定的话,包含总的时钟周期的个数是不变的,但是里面的时钟信号的每个周期都是不一样的,如下图。

从上面的描述可以看到,会有几个参数。
一个是调制速度:就是完成一次循环的时间,也就是2n*Tclk,这个时间的倒数就是调制速度对应的调制频率。
一个是调制深度:调制后,会有最长的时钟周期,也有最短的时钟周期,它们相对原始周期长度有一个差值,这个差值除以原来的时钟周期,就是调制深度,是个百分数。
还有一个是调制方式:前说的是时钟周期长度线性增加或者减小,这种方式叫线性调制方式,线性调制方式如下所示:

在中间虚线位置时,时钟的周期不变,也就是频率不变。在三角波顶端时,时钟周期变到最小,也就是频率变到最大,为f+△f。
这个三角波的频率就是调制速度,它一般远小于时钟频率,在30Khz-60Khz左右。
调制深度就对应△f,一般实际变化量很小,小于3%。
现在我们知道了展频之后的信号是什么样的,那么它真的能将窄带频谱变为宽带频谱吗?我们下面画出它的频谱。
展频后的频谱
1、为了减小计算量(量大电脑内存不够用),我们让时钟的频率为1,调制速度为时钟的千分之一,即0.001Hz,调制深度为2%。

2、为了更为清楚的看到展频之后的频谱,我们对1Hz基频来个特写。

调制之前1Hz的幅度是0.63,调制之后最高幅度为0.15。如果db来表示,那么就是降低了20log(0.63/0.15)=12.7dB。
3、上图对应的是调制深度为2%,我们降低调制深度为1%,再来看看频谱。

调制深度为1%的频谱幅度最高为0.2,如果用db来表示,那么就是降低了20log(0.63/0.2)=9.96dB。
两者对比,可看到,调制深度越大,频谱越宽,幅度越小,对EMI的抑制作用也就越好。不过呢,调制深度大了,时钟频率变化越大,引起电路时序问题的可能性也就越大。
4、如果调制深度不变,改变调制速度会怎么样呢?
将调制速度从0.001改为0.0001,即降低10倍,调制深度为2%,频谱如下图。

频谱幅度最高为0.05,如果db来表示,那么就是降低了20log(0.63/0.05)=22dB。
可以看到,调制速度降低,对EMI的抑制作用越好。不过通常不会低于30Khz,因为20Khz就处于人耳可听到的范围,为了避免产生噪声,不会再低了。
小结
1、 展频技术可以将窄带频谱变成宽带频谱,能够对辐射有抑制作用
2、调制速度越慢,调制深度越大,抑制效果越好
实践:
结束!
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/215314.html原文链接:https://javaforall.net
