现代频率合成技术课程设计基于MATLAB的DDS设计与仿真.docx
- 文档编号:2143775
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:15
- 大小:182.12KB
现代频率合成技术课程设计基于MATLAB的DDS设计与仿真.docx
《现代频率合成技术课程设计基于MATLAB的DDS设计与仿真.docx》由会员分享,可在线阅读,更多相关《现代频率合成技术课程设计基于MATLAB的DDS设计与仿真.docx(15页珍藏版)》请在冰点文库上搜索。
现代频率合成技术课程设计基于MATLAB的DDS设计与仿真
基于MATLAB的DDS设计与仿真
摘要:
利用matlab仿真工具建立数字频率合成器DDS勺仿真模型,便于我们直截了当地了解DDS勺工作原理和各部分模块的功能,而且便于我们分析DDS勺工作性能和各种
参数指标。
1.实验背景
随着技术和器件水平的提高,称之为直接数字式频率合成器(DDS新的频率合成技
术得到飞速的发展。
DDS在相对带宽、频率转换时间、相位连续性、正交输出、高分辨力以及集成化等一系列指标方面,已远远超过了传统勺频率合成器所达到勺水平,完成了频率合成技术的又一次飞跃。
DDS与传统的DS和IS一起构成了现代频率合成技术体系,将频率合成技术推向了一个新的阶段。
2.DDS勺原理:
数字频率合成是从相位概念出发直接合成所需波形的一种新技术,它采用一个恒定的输入参数时钟,通过数据处理的方式产生频率、相位可调的输出信号。
DDS系统由相位
累加器、波形ROM、D/A转换器和低通滤波器构成。
它具有频率分辨率高、频率切换时相位连续等优点。
DDS是继直接合成技术和锁相环式频率合成技术之后的第三代频率合成技术。
他的工作原理是基于相位与幅度的对应关系,通过改变频率控制字(K)来改变相位累加器(位
数为N的相位累加速度,然后在固定时钟的控制下取样,取样得到的相位值(去取相位累加器的高M位)通过相位幅度转换得到与相位值对应的幅度序列,幅度序列通过数模转换及低通滤波得到正弦波输出。
下图为DDS勺原理图。
图1DDS原理框图
其中,K为频率控制字,为基准时钟频率,N为相位累加器的字长,D为ROh数据位
及D/A转换器的字长。
相位累加器在基准时钟的控制字下以步长K做累加,把相加后的
结果送至相位累加器的输入,相位累加器一方面在上一时钟周期作用后产生的新的想位数据反馈到自身的输入端,在下一个时钟的作用下继续与频率控制数据K相加,另一方
面将这个值作为取样地址输出,送入正弦查找表ROM作为波形ROM勺地址,对波形ROM
进行寻址。
波形ROM俞出D位的幅度码S(n)经D/A转换器变成阶梯波S(t),再经过低通滤波器平滑后就可以得到合成的信号波形。
合成的信号波形取决于波形ROM中存放的幅
度码,因此用DD列以产生任意波形。
(1)频率预置与调节
K被称之为频率控制字,也叫相位增量。
DDS方程为,为输出频率,为
时钟频率,当K=1时,DDS输出最低频率(也即频率分辨率)为/,而DDS的最大输出频率由Nyquist采样定理决定,即/2,也就是说K的最大值为-1。
因此只要N足够大,DDS可以得到很细的频率间隔。
要改变DDS的输出频率,只要改变频率控制字K即可
(2)累加器
图2累加器框图
相位累加器由N位加法器和N位寄存器级联构成,来一个时钟脉冲,加法器将控制字K与寄存器输出的累加相位相加,再将相加后的结果送入寄存器的数据输入端。
寄存器将加法器在上一个时钟作用后产生的相位数据反馈到加法器的输入端,使加法器在下一个时钟作用下继续与频率控制字进行相加。
这样,相位累加器在时钟的作用下进行相位累加。
当相位累加器加满时产生一次溢出,完成一个周期性的动作。
(3)波形存储器用累加器输出的数据作为波形存储器的取样地址,进行波形的相位—幅值转化,即可在给定的时间上确定波形的抽样幅值。
N位的寻址ROM相当于把~的正弦信号离
散成具有个样本值的序列,若波形ROMtD位数据,则2N个样值的幅值以D为二进制数值固化在ROM中,按照地址的不同可以输出相应正弦信号的幅值。
相位一幅度变化原理图如下所示:
图3相位—幅度变化原理图
(4)D/A转换器
D/A转换器的作用是把合成的正弦波数字量转换为模拟量。
正弦幅度量化序列S
(n)经过D/A转换后变成了包络为正弦的阶梯波S(t)。
需要注意的是频率合器对D/A转换器
的分辨率有一定要求,D/A转换器的分辨率越高,合成的正弦波S(t)台阶数就越多,输出波形的精度也就越高。
(5)低通滤波器
2……两边土处的非谐波分量,幅值包络为辛格函数。
因此为了去除主频,必须在
D/A转化器的输出端接入截止频率为/2的低通滤波器。
一、DDS性能
DDS的频率合成原理及实现技术与传统的直接合成DS的锁相合成完全不同,在性能上也很独特。
1.相对宽度
当频率控制字K=1时,最低输出频率为=/M,式中M=2N当累加器字长N很大时,
最低输出频率达Hz,mHz量级都是不困难的,可认为DDS勺最低合成频率接近于零频。
DDS的最高输出频率受限于时钟频率和采样定理,=/2。
在实际应用中,考虑
到输出滤波器的非理想特性,一般采用=X40%这样的DDS的相对带宽为——=MX
40%=X40%
2.频率分辨率
DDS的最小频率步进量就是它的最低输出频率,即△==-=—。
也可以采用十进
制的相位累加器,那么M=10N可见只要累加器有足够的字长,实现非常精密的分辨率也没有多大的苦难,正像前面介绍的一样,可达Hz、mHz、甚至卩Hz频率步进量。
是传统
频率合成技术所无可达到的。
3.频率转换时间
DDS的频率转换时间近似认为是即时的,这是因为它的相位序列在时间上是离散的。
在频率控制字K改变以后,要经一个时钟周期之后才能按新的相位增量累加,所以可以说它的频率转换时间就是频率控制字的传输时间,即一个时钟周期亠。
目前,集成DDS
产品的频率转换时间可达10ns的量级。
这是常用锁相频率合成所无法达到的。
4.频率转换时的相位连续性
当频率控制字从K1变为K2之后,它是在已有的累加相位nK1S之上,再每次累加K2S,相位函数的曲线是连续的,只是在改变频率瞬间其斜率发生了突变,因而保持了输出信号相位的连续性。
这一点对利用相位信息的那些系统很重要。
相位连续可避免信息的丢失,相位不连续会导致频谱的扩散,不利于频谱资源的有效利用
5.可输出正交信号
有些应用场合要用到正交信号输出,即同时输出S1(t)=sin(2nt)和S2(t)=cos(2nt)
在DDS中,只要分别在两个ROM中存储和两个函数表,即可同时输出正交
信号,实现框图如下图所示。
图4可输出正交信号的DDS框图
6.可输出任意波形
若在ROM中存储其他所需的波形函数表,DDS即可输出相应的周期性的波形,因此,更新ROM中的数据,使DDS俞出方波、三角波、锯齿波等等。
7.调制性能
由于DDS是全数字的,用频率控制字K可直接调整输出信号的频率与相位,所以很易于在DDS1实现数字调制和调相,很多DDS^品都具有数字调制功能。
8.噪声和杂散
因为DDS是数字技术,先构成离散信号,再变换成模拟信号输出,因而噪声与杂散的存在是必然的。
这是我们要特别关注的,以下对影响DDS俞出的杂散来源进行分析。
3.杂散分类及其影响
1.相位截断对输出信号频谱的影响
在实际应用中,为了提高频率分辨率,相位累加器的位数N尽量做得大,这就要求
R0的容量很大。
当N=32寸,就需要RO的容量达4GB这在实现上是很困难的。
一般都是用相位序列的高A位寻址ROM舍去相位序列的低B=N-A位。
这就引入了相位截断误差。
以下的分析设K和互质。
当它们有公约数时,可以先化简,然后可归于以下模型或理想信号模型:
(n)是周期为入的阶梯波,其中,k=Kmod
(n)可以看作是对周期为入
的锯齿波e(t)的采样,即
表示相位截断误差信号(t)
锯齿波e(t)的频谱为:
,如图5所示。
虚线表示锯齿波e(t),实线
图5(n)与e(t)关系
其中,
R=Kmod
为阶梯波的梯度。
经过ROM相位一幅度转换后输出的
信号波形序列为:
n
n——
因为(n)<<,所以有:
n
7t
7t
由相位舍位引起的输出误差信号为:
n
把△S(n)看作对连续信号的采样:
n
n
snt)的频谱为-o)-
频谱为二者的频域卷积:
o),e(t)的频谱E如上述,所以e(t)nt)的
误差信号经过D/A后的模拟信号表达式为隔(t)=AS(t)h(t),所以最终输出的误差信号频谱为鸟(=ASH),H对信号频谱的影响是一个SINC函数的幅度调制,对
谱线的位置分布没有影响,从信号的频谱结构角度可以把它带来的影响忽略。
由上式可以得出,相位截断效应带来的频谱杂散位于:
n
可见,有相位截断的DDS输出信号频谱杂散分量十分丰富,并且有大量的频率值落
在[O,fo]之间,从理论上也无法将其完全滤掉。
由的表达式还可以发现,它和频率控制
字K有关,不同的输出频率其频谱结构也会不同,这就为提高信号质量增加了困难。
2.幅度量化误差对输出信号频谱的影响
ROM数据位宽的有限使得DDS输出的信号为阶梯波。
这将对输出信号引入幅度量化
误差(n)。
设ROM数据位宽为D,不考虑相位截断效应,幅度量化误差表示为:
由取整函数int(•)的性质可知,误差函数(n)是一个位于区间[——,——]上的随
机序列,概率密度服从均匀分布,幅度量化对信号频谱的影响可以归于白噪声。
但是当K
和成整数比例关系时,由噪声信号表达式可知,多个周期的噪声具有重复性,因此噪
声分布也具有一定的周期性。
3.D/A非理想特性及参考时钟相位噪声对输出信号频谱的影响
D/A的非理想特性主要包括动态非线性、静态非线性、有限分辨率及内部闪烁噪声等。
D/A的非理想特性难于建模,不同的器件性能各异,只能根据具体的器件参数分别考虑。
而且D/A对输出信号频谱的影响跟相位截断效应和幅度量化误差比起来是很小的。
只有在对信号频谱质量要求非常高的应用中才根据具体情况对这个问题进行深入的研究。
这也是为什么在DDS技术发展的二十多年间,对这个问题的研究不是很多。
随着电子制作工艺的迅猛发展,D/A期间的非理想特性逐渐得到改善,一般可以通过选用高性能的D/A器件来满足应用的要求。
参考时钟的相位噪声会传递到输出信号中去。
DDS实际上可以看作一个分频器。
从
理论上来说,输出信号的相位噪声会对参考时钟的相位噪声有dB的改善。
在对DDS信号频谱作理论分析时,这些都不是主要的研究对象,但是在实际应用中,尤其是在对信号质量有苛刻要求的场合,这些因素的影响必须引起重视。
4.MATLA仿真和结果分析
4.1仿真参数的设置
本次设计的要求为输出频率为1MHz相位累加器的位数N=10,并调N和频率控制字K的值分析相位截断误差等各类误差的变化。
根据理想DDS勺频谱图(如图6所示)可知杂散分量对输出信号质量影响最为严
重。
当趋近于时,也趋向于,两者很难区分,信号质量无法保证。
为了使低通滤波器有效地滤除杂散,一般小于。
因此在此我们分别取、
12MHz、16MHz对结果作比较。
由公式算得取整后的K分别为128、85、64。
图6理想DD輸出的频结构
4.2仿真结果
4.2.1K参数的影响研究
为了直观的比较相位截断前后的波形时域和频域上的差别,以下用A=4来模拟R0寻
址的相位序列的高4位。
在不同时钟频率和频率控制字K下阶段前后的时域和频域图如下
图所示。
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
图7仿真结果
从图7中可以看到,当输出频率和累加器位数N一定时,频率控制字越小波形更加平滑,这是因为
当N位一定时,ROM中的存储的幅度值位个,累加器每次累加步长为K,因此一周期内R0啲采样数据
数为floor()个(floor为Matlab求整函数,求向零靠近的整数),由此可见K越小,一周期门内采
样值越多,波形完整性越强,这结论跟实验结果完全符合。
再次我们可以看到当累加器低N-M位被截
取后,波形的完整性进一步恶化,这是因为当K一定时,ROM实际被采样到数据数为floor()个,
显然比没被截断前少,导致波形平滑度降低。
以上实验得出的时域波形中,更加直观的看出相位阶段带来的额外量化误差。
4.2.2N参数的影响研究
为了分析相位累加器位数N寸输出波形的影响,我们分别取N=8、10、12作为一组比较
系。
以下为本次实验结果。
(M=4,K=63,
(1)
⑵
⑶
⑷
(8)
图8不同N下的DDS俞出
由图8
(1),(5)可以看出,当N比较小时,输出波形有由明显的低频分量,而且
量化误差。
以上信号是未通过低通滤波其处理的,因此由(6)更直观地看到从D/A出来
的模拟信号是在DD原理中介绍的阶梯波S(t)。
增多。
综上,在实际DD设计中,相位累加器的位数N要尽可能的取大,以此降低幅度量
化带来的误差。
但N越大需要的R0存储空间越大,实际中很难实现。
因此R0压缩技术和
截断误差的降低技术是DD设计中的关键问题所在。
423功率谱分析
以下图中
(1)、(3)分别为N=1如N=12寸的有量化误差的信号功率谱图。
当N从10
变到12时,则信号功率与量化噪声总功率之比下降约12dB。
这是因为当ROM采用D位二进
制数保存正弦函数值时,量化误差为:
由量化引起的信噪比为:
由上式可见,量化位数D每增加一位,则SNR将提高6dB
(1)
(2)
(3)
(4)
图9DDS杂散功率谱
从图9的
(2),(4)中的频域图比较中可以看到,处理截断后的误差信号也成周
期出现,对此在截断误差的表达式
—n—中,已知为周期入的阶梯波,其中为K
和的最大公约数。
由数字信号处理理论易知的谱线以为周期,在区间(0,
)内的谱线由根谱线所组成,这个结论跟实验结果吻合。
5.附录
1)DD实现及分析相位截断前后的波形及频谱的代码:
clearall;
N=12;%累加器的位数;
K=63;%fix((2m)*0.222);%频率控制字,即累加的步长;
M=6;%截取累加器的高10位;
D=8;%8bitDAC
g=gcd(KQN);
pe=2AN/(g);
n=1:
pe;
pp=pe+1;%频谱分析点数
add_y=mod(n*K,2AN);%累加器的输出表达式;
error=mod(n*K,2A(N-M));
rom_x=sin(2*pi*add_y/(2AN));
rom_y=sin(2*pi*(add_y-error)/(2AN));
Fs=16*10A6;%采样频率
%此时的相位增量为2*pi*K/M
Ts=1/Fs;%采样频率
%t=(0:
Nd-1)*Ts;%
根据需要输出的信号点数,取得时间
plot(t,rom_x);
xlabel('t/s');
ylabel('A');
title(['N=',num2str(N),',','
截断前的时域图']);
gridon;
Fy=abs(fft(rom_x,4*pe));%
对信号进行傅里叶变换
len_Fy=length(Fy);%
此处的数字角频率
f=(0:
len_Fy)/len_Fy*Fs;
%输出信号的频率,将数字频率转
(W=2*pi*f/fs)
count=floor(len_Fy/2);%
频谱显示的点数
figure%
显示多幅图像
plot(f(1:
count),Fy(1:
count));
gridon;
xlabel('f/Hz');
ylabel('A');
title(['N=',num2str(N),',','
截断前的频域图']);
figure
plot(t,rom_y);
xlabel('t/s');
ylabel('A');
title(['N=',num2str(N),',','
截断后的时域图']);
gridon;
Fy=abs(fft(rom_y,4*pe));%
对信号进行傅里叶变换
len_Fy=length(Fy);%
此处的数字角频率
t=(0:
pe-1)*Ts;
f=(0:
len_Fy)/len_Fy*Fs;
换成模拟频率
%输出信号的频率,将数字频率转换成模拟频率
频谱显示的点数
显示多幅图像
截断后的频域图']);
(W=2*pi*f/fs)count=floor(len_Fy/2);%figure%plot(f(1:
count),Fy(1:
count));gridon;
xlabel('f/Hz');ylabel('A');title(['N=',num2str(N),',','2)分析相位截断误差和幅度量化误差的功率谱的代码clearall;
N=10;%累加器的位数;
K=63;%((20)*0.222);%频率控制字,即累加的步长;
M=4;%截取累加器的高10位;
D=8;%8bitDAC
g=gcd(KQN);
pe=2AN/(g);
n=1:
pe;
fc=16*10A6;
pp=pe+1;%频谱分析点数
add_y=mod(n*K,2AN);%累加器的输出表达式;
error=mod(n*K,2A(N-M));
rom_y=cos(2*pi*(add_y-error)/(2AN));%相位到幅度映射的输出;
pat=-1+1/(2A(D-1)):
1/(2A(D-1)):
1-1/(2A(D-1));%设定量化
区间
codebook=-1+1/(2AD):
1/(2A(D-1)):
1-1/(2AD);%设定量化码本值
[Pyy,wy]=periodogram(rom_y,[],'onesided',pp,fc);figure;%figure1只有相位截断,没有量化figure1
rom_x=cos(2*pi*add_y/(2AN));
[index,quants2]=quantiz(rom_x,pat,codebook);%量化
[Pzz,wz]=periodogram(quants2,[],'onesided',pp,fc);
title(['N=',num2str(N),',','有相位截断误差的信号']);
figure;%没有相位截取和DAC的非线性等,figure2,只有量化psdplot(Pzz/max(Pzz),wz);%归一化显示出图;
[index,quants1]=quantiz(rom_y,pat,codebook);%量化
[Pxx,wx]=periodogram(quants1,[],'onesided',pp,fc);%频谱分析;
title(['N=',num2str(N),',','有幅度量化杂散的信号']);
figure;%figure3相位截断加量化
psdplot(Pxx/max(Pxx),wx);%归一化显示出图;
title(['N=',num2str(N),',','有幅度量化和相位截断误差的信号']);
gridon
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 现代 频率 合成 技术 课程设计 基于 MATLAB DDS 设计 仿真