DDS的对称性质——参考时钟是100M,则产生的90MHz与10MHz的正弦信号频率相同,相位相反

题目:DDS的对称性质——参考时钟是100M,则产生的90MHz与10MHz的正弦信号频率相同,相位相反

 

DDS的原理大家都知道,在FPGA中的可以调用IP核生成,ISE中DDS的IP核界面如下图所示:

现在的说明的问题是:若产考时钟为fs,那么由DDS生成的fo与fs-fo的两个正弦信号频率相同,均为fo和fs-fo中小于fs/2的一个,而相位相反,若产生余弦信号,则完全相同。

 

DDS的原理是这样的,有一个频率控制字M,位长为b(通常取为32位),参考时钟为fs,则产生的信号的频率fo=M*fs/2^b .在实现在其实是一个累加的过程,内部b位的累加器每次累加M得到一个相位,然后通过正余弦表去查该相位的正余弦值是多少,然后输出。

这里有一个问题,若参考时钟为100MHz,那么要产生10MHz和90MHz的信号,会怎么样呢?

 

其实DDS的原理可以在matlab中描述如下:

>> UP=2^32;
>> M10=10*UP/100;
>> M90=90*UP/100;
>> n=1:50;
>> plot(sin(2*pi*M10/UP*n));grid on;hold on;plot(sin(2*pi*M90/UP*n),'r')

DDS的对称性质——参考时钟是100M,则产生的90MHz与10MHz的正弦信号频率相同,相位相反_第1张图片

 

由上图可见,10MHz和90MHz的正弦信号的相位正好相差pi,其实这个很容易理解,观察一下两个信号的相位即可:

10MHz的正弦信号的相位是:2*pi*M10/UP*n

90MHz的正弦信号的相位是:2*pi*M90/UP*n

将两者相加等:2*pi*M10/UP*n + 2*pi*M90/UP*n = 2*pi*(M10 + M90)/UP*n

又因为 M10=10*UP/100;M90=90*UP/100; 代入上式中得:

2*pi*(10*UP/100 + 90*UP/100)/UP*n=2*pi*n

即二者的相位和为2pi的整数倍,因此若一个信号的值为sin(x),则另一个信号的值必为sin(2*pi-x)=sin(-x)

由此易知,生成的余弦信号是相同的,因为cos(x)=cos(-x)

 

 

 

 

你可能感兴趣的:(matlab,UP,plot)