m Реализация Verilog системы чередования и обратного чередования на основе FPGA, включая тестовый стенд

Оглавление

1. Эффект имитации алгоритма

2. Алгоритмы предполагают обзор теоретических знаний

3. Основная программа Verilog

4. Полный файл кода алгоритма


1. Эффект имитации алгоритма

Результаты моделирования Vivado2019.2 следующие:

2. Алгоритмы предполагают обзор теоретических знаний

        Система чередования и обратного перемежения представляет собой технологию передачи данных, широко используемую в системах связи для повышения надежности и защиты от помех при передаче данных. Система чередует данные на передающей стороне, а затем выполняет обратное чередование на принимающей стороне, так что каждый бит данных распределяется по разным позициям, тем самым уменьшая влияние шума и помех в канале и повышая надежность передачи данных.
В частности, рабочий процесс системы перемежения и обратного перемежения выглядит следующим образом:
     Перемежение: Чередование данных на передающей стороне в соответствии с определенными правилами и распределение каждого бита данных по разным позициям.
     Кодирование: кодирование чередующихся данных для повышения надежности передачи данных. Общие методы кодирования включают сверточные коды, корректирующие коды и т. д.
      Модуляция: Модулируйте закодированные данные, чтобы адаптировать их к характеристикам передачи канала. Общие методы модуляции включают ASK, FSK, PSK и т. д.
     Передача: Модулированные данные передаются к принимающей стороне через канал.
     Демодуляция: демодулируйте передаваемый сигнал на приемном конце, чтобы получить цифровой сигнал на приемном конце.
     Декодирование: декодируйте цифровой сигнал на принимающей стороне, чтобы восстановить исходные данные. В процессе декодирования необходимо учитывать влияние шума и помех в канале.
      Обратное перемежение: декодированные данные перемежаются в соответствии с правилом, противоположным правилу перемежения, и восстанавливается порядок исходных данных.
Вышеизложенное является основным принципом системы перемежения и обратного перемежения. Ниже мы расскажем, как реализовать систему перемежения и обратного перемежения в FPGA.
Общие шаги для FPGA для реализации системы перемежения и обратного перемежения следующие:
       Разработайте правила перемежения: Правила перемежения являются ядром обработки перемежения, которые определяют последовательность перемежения и режим данных. В практических приложениях соответствующие правила перемежения должны быть разработаны в соответствии с конкретными ситуациями.
      Разработайте модуль перемежения: модуль перемежения является ядром всей системы перемежения и обратного перемежения, которая реализует правила перемежения. Модуль перемежения обычно включает в себя буфер и перемежитель. Область буфера используется для хранения входных данных, а перемежитель используется для реализации правил перемежения.
     Разработайте модуль обратного перемежения: модуль обратного перемежения подобен модулю чередования, но он должен реализовать правило, противоположное правилу чередования, чтобы восстановить порядок исходных данных.
       Разработайте модуль кодирования: модуль кодирования используется для кодирования чередующихся данных для повышения надежности передачи данных. Общие методы кодирования включают сверточные коды, корректирующие коды и т. д.
      Разработайте модуль модуляции: модуль модуляции используется для модуляции закодированных данных для адаптации к характеристикам передачи канала. Общие методы модуляции включают ASK, FSK, PSK и т. д.
      Разработайте модуль демодуляции: модуль демодуляции используется для демодуляции передаваемого сигнала на приемном конце для получения цифрового сигнала на приемном конце.
      Разработайте модуль декодирования: модуль декодирования используется для декодирования цифрового сигнала на принимающей стороне для восстановления исходных данных. В процессе декодирования необходимо учитывать влияние шума и помех в канале.
      Разработайте модуль обратного перемежения: модуль обратного перемежения используется для обратного чередования декодированных данных в соответствии с правилом, противоположным правилу чередования, и восстановления порядка исходных данных.
      Модуль управления дизайном: модуль управления используется для управления рабочим процессом всей системы перемежения и обратного перемежения, включая ввод и вывод данных, запуск и останов модулей и т. д.
       Выше приведены общие шаги для реализации системы перемежения и обратного перемежения в FPGA. В практических приложениях его необходимо корректировать и оптимизировать в соответствии с конкретной ситуацией.
        Система перемежения и обратного перемежения представляет собой технологию передачи данных, которая может повысить надежность и помехозащищенность передачи данных. Для реализации системы перемежения и обратного перемежения в FPGA необходимо разработать правила перемежения, модуль перемежения, модуль обратного перемежения, модуль кодирования, модуль модуляции, модуль демодуляции, модуль декодирования, модуль обратного перемежения, модуль управления и другие модули. FPGA обладает преимуществами программируемости и высокой степени параллелизма, а также имеет определенные преимущества в реализации систем перемежения и обратного перемежения. В практических приложениях его необходимо корректировать и оптимизировать в соответствии с конкретной ситуацией.

      В этом проекте мы в основном разрабатываем отдельные модули чередования и обратного чередования.

3. Основная программа Verilog

`timescale 1ns / 1ps
//
// Company: 
// Engineer: 
// 
// Create Date: 2023/05/12 19:58:30
// Design Name: 
// Module Name: tops
// Project Name: 
// Target Devices: 
// Tool Versions: 
// Description: 
// 
// Dependencies: 
// 
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
// 
//
module tops(
input i_clk,
input i_rst,
input [2:0]i_sel,//配置2*2交织和4*4交织
input i_flager,
input i_enable,
input i_x,

output o_y_jz,
output o_enable_jz,
output o_start_jz, 
output o_y_djz,
output o_enable_djz,
output o_start_djz 
);
    
    
//交织   
jiaozhi jiaozhi_u(
.i_clk        (i_clk),
.i_rst        (i_rst),
.i_sel        (i_sel),//配置2*2交织和4*4交织
.i_flager     (i_flager),
.i_enable     (i_enable),
.i_x          (i_x),
.o_y          (o_y_jz),
.o_enable_jz  (o_enable_jz),
.o_start_jz   (o_start_jz) 
);
    
//解交织  
dejiaozhi dejiaozhi_u(
.i_clk        (i_clk),
.i_rst        (i_rst),
.i_sel        (i_sel),//配置2*2交织和4*4交织
.i_flager     (o_start_jz),
.i_enable     (o_enable_jz),
.i_x          (o_y_jz),
.o_y          (o_y_djz),
.o_enable_jz  (o_enable_djz),
.o_start_jz   (o_start_djz) 
);
 
    
    
endmodule
00_014m

4. Полный файл кода алгоритма

В

Supongo que te gusta

Origin blog.csdn.net/hlayumi1234567/article/details/130651681
Recomendado
Clasificación