原创 【原创】如何使用FPGA进行信号调制

2009-3-1 21:53 7290 17 17 分类: FPGA/CPLD

       最近要做一个通信收发系统项目,以前对收发器的射频前段关注的比较多,而对基带部分的信号处理一直没有仔细研究。因此,正好借这个项目,熟悉整个基带部分的信号处理流程。


       基带部分主要包括以下几个主要部分:信源编码,信道编码(分组码,卷积码,Turbo码,低密度校验码LDPC等),交织,信号调制(BPSK,QPSK,8PSK,16QAM,64QAM等),OFDM调制,DA变换。


一、基本原理


       本文主要关注信号调制的原理和FPGA具体实现。信号调制主要是对信号进行星座映射,一串二进制数据进过星座映射,生成一路I信号和一路Q信号,如下图所示。


c3c7c65e-1ef3-43ca-917e-4fcaac671b00.jpg


       下面以16QAM为例说明星座映射的过程。16QAM中每4个bit对应一路I信号和一路Q信号,因此首先要将串行输入的四个bit数据转换成并行的4bit数据,根据这4bit并行数据选取出其对应的I信号和Q信号,具体映射图如下所示。


68d974eb-eb2f-4a09-90f0-7ab1313173c1.jpg


       上图采用格雷码映射,即星座图上相邻星座对应的编码只有1bit差异,这样在相同的误码率情况下可以得到最小的误比特率。比如输入二进制数据为1001,则输出为3+1i(复数),即I路输出3(十进制),Q路输出1。不过在实际编码中用间距比较大的十进制数据来表示IQ信号,以提高噪声容限。比如用-97(1110011111),96(0001100000),-33(1111011111),32(0000100000)代替-3,3,-1,1,即1001输入时,I信号输出为0001100000,Q信号输出为0000100000。


二、FPGA实现


串变变换模块的实现:


data_in:串行数据输入,data_out:4位并行数据输出。


module(input clk,input data_in,input reset,output[3:0] data_out);


reg[1:0] cnt;


reg[3:0] data_temp;


reg[3:0] data_out;


always @(posedge clk)


  begin


    if(!reset)


        cnt<=2'b00;


    else


        cnt<=cnt+1;


    end


end


always @(posedge clk)


    begin


       if(!reset)


           data_temp <= 4'b00;


        else


             data_temp<={data_temp[2:0],data_in};


   end


always @(posedge clk)


    begin


        if(cnt==2'b11)


            data_out<=data_temp;


         else


             data_out<=data_out;


     end


endmodule


星座映射的实现(关键模块):


case(data_out)


    4'b0000:


          begin


              I<=2'b1110011111;


              Q<=2'b1110011111;


           end


     4'b0001:


            begin


                I<=2'b1110011111;


                Q<=2'b1111011111;


            end


        ......(省略)


三、后续模块


       为了使IQ输出的符号速率和后续器件的输入符号速率相匹配,需要在IQ后进行内插,比如IQ输出符号速率为128KBaud,而后续模块输入符号速度要求1024KBaud,则内插倍数位1024/128=8,即在每个IQ符号后内插7个0符号,内插后会产生7个高频镜像分量,在接收时采用低通滤波滤除。另外为了抑制信号带外辐射,还需要添加成型滤波器。


参考文献:


1、OFDM基带数据传输系统及其FPGA设计与实现研究(下载


2、基于软件无线电的16QAM调制解调器设计与FPGA实现(下载

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
17
关闭 站长推荐上一条 /3 下一条