登 录 註 冊
  • 215阅读
  • 0回复

Namisoft解析基于DSP 的线性信调频信号源 [复制链接]

上一主题 下一主题
离线namisoft
 

只看楼主 倒序阅读 0楼 发表于: 04-27
  纳米软件了解到DSP Builder可以帮助设计者完成基于FPGA的DSP设计。除了图形化的系统建模外,DSPBuilder还可以自动完成大部分的设计过程和仿真,直到把设计文件下载至DSP开发板上。该设计采用DSPBuilder开发工具,首先实现输出频率变化可控的直接数字合成(DDS)模块;然后根据Chirp函数的变化规律,控制DDS的输出频率变化规律。
&sA@!  
  1 Chirp函数的一般特性 kn1+lF@  
  电磁波在传输过程中,经过色散介质,如不均匀的波导,在高空电离层时会发生色散现象。Chirp函数在射电天文信号的消色散处理中发挥着重要的作用,研究在FPGA中实现Chirp函数是基于FPGA的射电宇宙信号处理的重要组成部分,如图1所示。
kn1+lF@  
kn1+lF@  
  根据输出频率与当前采样时刻对应递变规律,Chirp函数一般分线性(Linear)Chirp函数和非线性(Nonlinear)chirp函数两种。图2,是两种Chirp函数在频域上的表现图。
kn1+lF@  
kn1+lF@  
kn1+lF@  
  从图2,图3可以看出,Chirp函数的频率输出与时间关系f-t关系可以总结为:对于线性Chirp函数,在连续域时间域内有关系式: Z;@F.r  
Z;@F.r  
Z;@F.r  
  式中:k为常数;f0为初始输出频率;t为连续时间。 Z;@F.r  
  在离散时间域有关系式: FAE>N-brQ  
FAE>N-brQ  
FAE>N-brQ  
  式中:k为常数;f0为初始输出频率;n为采样点。 FAE>N-brQ  
  对于非线性Chirp函数,在连续域时间域内有关系式: FAE>N-brQ  
FAE>N-brQ  
FAE>N-brQ  
  式中:f(t)为非线性函数;f0为初始输出频率;t为连续时间。 FAE>N-brQ  
  在离散时间域有关系式: iu1iO;q  
(PNvv/A  
(PNvv/A  
  式中:f(n)为非线性函数;f0为初始输出频率;n为采样点。 ^i\zMMR  
  2 DDS模块的设计 ^i\zMMR  
  数字式频率合成器(DDS)模块的工作原理是:将0~2π的正弦函数值分为N份,将各点的幅度值存入ROM中,再用一个相位累加器每次累加相位值ωT,得到当前的相位值,通过查找ROM得到当前的幅度值,其系统框图如图4所示。
^i\zMMR  
^i\zMMR  
  DDS的主要参数包括:系统时钟频率、频率控制字长、频率分辨率、ROM单元数、ROM字长。该设计的DDS是10位的,时钟频率为转化为VHDL文件后的输入时钟频率。这是一个很灵活的输入频率。在此,假设输入频率为fin,频率控制字长为16位,ROM单元数为210,ROM字长为9位,而且频率分辨率为: ^i\zMMR  
^i\zMMR  
^i\zMMR  
  式中:fc为系统时钟频率。 ^i\zMMR  
  其中,输入端口1为初始相位控制字输入端,它的输入值决定了信号源的初始输出相位。输入口2为频率控制字FTW输入端,若在该输入端写入不同的频率控制字值,则可以在输出端口得到不同的输出频率。输入端口3为初始频率控制字输入端,它的输入值决定了信号源的初始偏置频率。 ^i\zMMR  
  LUT为正弦数据查找表模块(Look Up Table)。根据DSP Builder的算法将一个完整的正弦波周期进行1 024次采样,并存储于LUT中。在Matlab中设置Matlab array:511*sin([0:2*pi/(2^10):2*pi]),左边的输入端为查找数据的地址输入端,右边的输出端为离散正弦波信号输出端。 ^i\zMMR  
  第一个并行累加器模块(Parallel Adder Subtrac-tor)作为相位累加器,采用Altera提供的总线结构(AltBus)模块决定了该累加器的长度为16位,即该累加器最大可输出范围为216,由此决定了公式(5)。 &oNy~l o  
  第二个并行累加器模块(Parallel Adder Subtractor1)作为初相位偏置累加器,将初相位控制字与频率控制字累加,为输出频率提供一个初始偏置相位。 &oNy~l o  
  第三个并行累加器模块(Parallel Addersubtractor 2)作为初始频率偏置累加器,给输入的频率控制字提供一个偏置,是输出频率从一个用户自己可定义的初始频率开始变换运行。 A&)P_B1|  
  利用总线位宽转换模块(Bus Conversion)只取出总线信号的高10位,用作驱动数据查找表模块的地址驱动信号。为了方便下一步设计,将图5封装成子系统模块(Subsystem Block),并命名为:DDS_Subsystem。 A&)P_B1|  
  3 变频控制模块的设计 Ym2![FC1  
  根据Chirp函数在频域上的性质,可以得出输入控制字与输出频率之间的对应关系有线性和非线性两种: Ym2![FC1  
  首先采用DSP Builder库中的单步增/减子模块(Increment/Decrement Block)建立采样点控制字产生单元。该模块能按照阶梯式规律步进逐一产生控制字信号,并保持一段时间在模块设置项(Clock Phase Se-lection)中设置,当增减方向(Direction)设置为Incre-ment时得时域输出,其表现如图7所示。 Ym2![FC1  
  其次根据需要建立控制字变换模块,即对Incre-ment/Decrement模块输出的采样点控制字进行换算,转化为DDS的频率控制字。这需要根据不同Chirp函数的变化规律,例如:如果是线性频率的输出,则采样点应该与输出频率有线性的函数对应关系;如果是非线性频率的输出,则采样点应该与输出频率有非线性的函数对应关系。根据不同的传输函数建立该子模块: Ym2![FC1  
  例如:fout=kn+f0。当k=3时。 Ym2![FC1  
  将上述模块向上生成子模块后 Ym2![FC1  
  并在DDS的输出端建立FFT观测窗口。 Ym2![FC1  
  4 验证与仿真 Ym2![FC1  
  假设现在的初始相位为0,初始频率也为0,采样点步进控制字设置为输出12为步进循环增加 .. Ym2![FC1  
;fW`#aE  
亲爱的朋友您仅能浏览部分内容,查看全部内容及附件请先 登录注册

关注公众号
快速回复
限1000 字节
 
上一个 下一个