首页 > 编程知识 正文

信道化码和扰码的作用,编码器信号干扰

时间:2023-05-04 14:43:39 阅读:221835 作者:2731

扰码器_加扰_解扰 1 加扰与解扰2 扰码器3 仿真

1 加扰与解扰

加扰:原数据流与伪随机序列中的bit流进行异或计算,得到一个较为随机的字符流(减少连续的1与连续的0的长度),从而降低了数据流传输时的EMI噪声(当数据重复传输时,能量会集中在某一频率上,产生EMI噪声;数据经过加扰后,会把集中的能量分开,几乎变成白噪声)。

解扰:使用与加扰器相同的电路结构及同样的种子,恢复原数据。

2 扰码器

802.11中DATA字段的数据需要加扰,使用的加扰器如下所示。

3 仿真

SystemVerilog程序

`timescale 1ns/1psmodule scrambler_descrambler();reg [6:0] scrambler_seed;reg [15:0] scrambler_input_data;reg [15:0] scrambler_output_data;reg [6:0] scrambler_dff;reg temp;reg [15:0] descrambler_rec_data;reg [15:0] descrambler_dec_data;reg [6:0] descrambler_dff;integer k=0;initial begin scrambler_seed[6:0] = 7'b100_1101;//DFF initial state $display("nn"); $display("Scrambler seed = 7'b%7bn", scrambler_seed[6:0]); scrambler_input_data [15:0] = 16'b1011_0111_1110_0001;//LSB first input scrambler_output_data[15:0] = 16'h0; //scramble $display("Scrambler start..."); $display("Scrambler_input_data : %16b", scrambler_input_data[15:0]); scrambler_dff[6:0] = scrambler_seed[6:0]; for(k=0;k<16;k=k+1) begin temp = scrambler_dff[6] ^ scrambler_dff[3]; scrambler_output_data[k] = scrambler_input_data[k] ^ temp; scrambler_dff[6:0] = {scrambler_dff[5:0], temp}; end $display("Scrambler_output_data : %16b", scrambler_output_data[15:0]); $display("n"); descrambler_rec_data[15:0] = scrambler_output_data[15:0]; descrambler_dec_data[15:0] = 16'h0; //descramble $display("Descrambler start..."); $display("Descrambler_input_data : %16b", descrambler_rec_data[15:0]); descrambler_dff[6:0] = scrambler_seed[6:0]; for(k=0;k<16;k=k+1) begin temp = descrambler_dff[6] ^ descrambler_dff[3]; descrambler_dec_data[k] = descrambler_rec_data[k] ^ temp; descrambler_dff[6:0] = {descrambler_dff[5:0], temp}; end $display("Descrambler_output_data : %16b", descrambler_dec_data[15:0]); if(descrambler_dec_data[15:0] == scrambler_input_data [15:0]) begin $display("Descramble PASS"); end else begin $display("Descramble FAIL"); end $display("nn");endendmodule

结果
数据解扰后恢复为原数据。

Scrambler seed = 7'b1001101Scrambler start...Scrambler_input_data : 1011011111100001Scrambler_output_data : 0110100110010011Descrambler start...Descrambler_input_data : 0110100110010011Descrambler_output_data : 1011011111100001Descramble PASS

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。