QPSK调制的EVM值测试

简述

通过频谱分析仪对FMQL+AD9261S板卡产生的QPSK信号进行EVM值测试,主要为测试发射通道的性能,因此不关注对QPSK的解调。

QPSK信号生成

QPSK信号直接输出I路和Q路映射的星座图即可,较为简单;为了产生随机QPSK信号,通过移位寄存器的方式产生伪随机序列,根据序列结果映射星座点。
移位寄存器使用本原多项式x9+x4+1,序列周期为29-1;

每当选择发送QPSK信号的时候,输入seed,但seed不能为0,因此有一个判断输入默认值。
QPSK_cnt用于控制QPSK的符号速率,符号速率为时钟速率/(计数最大值 + 1)。
注意符号速率不能超过采样速率的1/2,否则会发生频谱混叠。


assign w_QPSK_data_Re   =   QPSK_ran[3]    ? -'d17379 : 'd17379     ;
assign w_QPSK_data_Im   =   QPSK_ran[6]    ? -'d17379 : 'd17379     ;

always @(posedge i_tx_ch1_clk ) begin
    QPSK_cnt    <=  (QPSK_cnt < i_QPSK_cnt_max) ?
                    QPSK_cnt + 'd1 : 'd0            ;
end

always @(posedge i_tx_ch1_clk ) begin
    if(w_QPSK_sel_pos)begin
        QPSK_ran    <= (i_frame_Re[8:0] == 0) ?
                        'd327 : i_frame_Re[8:0]     ;
    end
    else if(QPSK_cnt == i_QPSK_cnt_max) begin
        QPSK_ran[0]   <= QPSK_ran[8]                ;
        QPSK_ran[1]   <= QPSK_ran[0]                ;
        QPSK_ran[2]   <= QPSK_ran[1]                ;
        QPSK_ran[3]   <= QPSK_ran[2]                ;
        QPSK_ran[4]   <= QPSK_ran[3] ^ QPSK_ran[8]  ;
        QPSK_ran[5]   <= QPSK_ran[4]                ;
        QPSK_ran[6]   <= QPSK_ran[5]                ;
        QPSK_ran[7]   <= QPSK_ran[6]                ;
        QPSK_ran[8]   <= QPSK_ran[7]                ;
    end
    else begin
        QPSK_ran    <= QPSK_ran                     ;
    end
end

测试结果

由于滤波器是黑盒,不知道具体参数,因此选用滚降系数设置为0.5,测试时的TX通道带宽始终设置为12MHz。
采样速率为11.2MHz,测试的1.4MHz、2.24MHz、2.8MHz、5.6MHz时的EVM值如图1所示。

图1 (a) 符号速率为1.4MHz时EVM值

图1 (a) 符号速率为1.4MHz时EVM值

图1 (b) 符号速率为2.24MHz时EVM值

图1 (b) 符号速率为2.24MHz时EVM值

图1 (c) 符号速率为2.8MHz时EVM值

图1 (c) 符号速率为2.8MHz时EVM值

图1 (c) 符号速率为5.6MHz时EVM值

图1 (d) 符号速率为5.6MHz时EVM值

可见EVM值随着符号速率的增加而增加,主要是由于带宽内噪声累积的影响。但从EVM值也能看出发射通道的性能较差,需要查找该方面原因。
当符号速率大于采样速率/2时,出现频谱混叠,并使得性能急剧恶化,如图2所示,可见EVM值极差。

符号速率为11.2MHz时EVM值

图2 符号速率为11.2MHz时EVM值

posted @ 2025-04-01 23:32  吃饱就睡yess  阅读(133)  评论(0)    收藏  举报