ARM Cortex-A8/A9开发板 | ARM11开发板ARM11开发套件 | ARM9开发板ARM9开发套件 | 飞思卡尔I.MX28I.MX6开发板 |
tiny210/mini210开发板 | mini6410开发板/套餐 | Tiny6410开发板无线套件 | mini2440开发板/套餐 | micro2440开发板带核心板 | 友善开发板配件 模块 | QQ2440 V3 SBC-2410X |
FL2440 OK2440-IV V4 | OK2440-III OK2440V3 | TE2440-II TE2440V2 | OK6410 S3C6410 ARM11 | FL6410/OK6410B ARM11 | TE6410 S3C6410 ARM11 | TE-9263 AT91SAM9263 | 开发板配件 模块和其他 |
Xilinx开发板/fpga开发套件 | altera开发板/fpga开发套件 | 基于FMC FPGA/DSP子卡 |
BeagleBoard原厂开发板 | PandaBoard原厂开发板 |
TI DM3730 DevKit8500D | TI系列 omap3530开发板 | ATMEL系列 开发板 | Samsung系列 开发板 | 开发板配件-仿真器 模块 | NXP LPC3250 mini3250 |
Tiny210 三星S5PV210 | Mini210/Mini210s开发板 | Tiny4412开发板Cortex-A9 | Tiny6410开发板 ARM11 | mini2440开发板 ARM9 | micro2440开发板 ARM9 | mini6410开发板 ARM11 | 友善ARM开发板配件 模块 |
keil ARM仿真器/开发工具 | STM32开发板 Cortex-M3 | NXP LPC开发板Cortex-M3 | ATMEL系列 ARM开发板 | Luminary EKK8962开发板 | Freescale i.MX31开发板 | 三星s3c2440 s3c6410开发板 |
FL2440 OK2440-IV V4 | OK6410 S3C6410 ARM11 | FL6410/OK6410B ARM11 | OK210/-A Cortex-A8 | TE2440-II TE2440V2 | TE6410 S3C6410 ARM11 | TE-9263 AT91SAM9263 | ARM开发板配件 模块等 |
Real6410开发板/套餐 | Real210开发板/Real2410 | WIFI GPS GPRS模块摄像头 |
Xilinx开发板/开发套件KIT | Altera开发板/开发套件KIT | 配套模块 |
NXP LPC开发板 ARM7 | Cortex-M3 STM32开发板 | 最小系统模块类(初学者勿选) | 开发工具 仿真器 调试器 | TFT液晶屏LCD 液晶模块 |
DM642开发板/DM642实验箱 | DM6446开发板/DSP实验箱 | DSP仿真器 液晶屏 摄像头等 |
DM3730/AM3715/AM3359 | OMAP3530AM1808AM3517 | 飞思卡尔Cortex-A9开发板 | ATMEL系列ARM开发板 | NXP LPC3250 LPC1788 | Samsung系列ARM开发板 | STM32系列F207/F407 | ARM开发板配件-仿真器 模块 |
Realv210 S5PV210开发板 | Real6410开发板 ARM11 | WIFI GPS GPRS模块摄像头 |
NXP LPC开发板 ARM7 | Cortex-M3 STM32开发板 | ARM小系统模块(初学勿选) | 开发工具 ARM仿真器 调试器 | TFT液晶屏LCD 液晶模块 |
keil ARM仿真器/开发工具 | STM32开发板 Cortex-M3 | NXP LPC开发板Cortex-M3 | ATMEL系列 ARM开发板 | Luminary EKK8962开发板 | Freescale i.MX31开发板 | 三星s3c2440 s3c6410开发板 |
Exynos4412开发板A9四核 | UT-S5PV210 S5PC100 | UT-S3C6410开发板 ARM11 | idea 6410开发板 ARM11 | UT-S3C2450开发板 ARM9 | UT-S3C2416开发板 ARM9 | UT-S3C6410核心板 工控 |
Xilinx开发板 FPGA开发套件 | altera开发板 FPGA开发套件 | FMC模块 配件 下载线 |
DM642开发板/DM642实验箱 | DM6446开发板/DSP实验箱 | DSP仿真器 液晶屏 摄像头等 |
s3c2410 ARM9 FS2410 | s3c2440开发板 ARM9 | s3c44B0开发板 ARM7 | s3c6410 2450 2443/13 | PXA270 PXA320 PXA255 | Atmel 9200 9261 9G20 | Philips NXP开发板YL-LPC | FS-EP9315开发板ARM9 | LCD液晶屏TFT真彩/触摸屏 | ARM仿真器/仿真调试工具 | ARM开发板配套ARM核心板 |
三星s3c2410 s3c44B0 | 三星s3c6410 s3c2443 | Intel PXA270 PXA320 | UP-CUP OMAP5910平台 | FPGA Xilinx altera平台 | 配件-仿真器 模块 液晶屏LCD | 龙芯开发板UP-DRAGON-I | 物联网教学科研设备 | EDA/FPGA/SOPC教学科研 |
utu2440-F-V4.5 含核心板 | utu2440-S-V4.1 单板结构 | YC2440-F-V5.1开发板 豪华型 | YC-ePC-A系列人机界面 | Mars-EDA套件CPLD FPGA | 触摸屏LCD 摄像头 WI-FI模块 |
ARM开发板/开发平台 | FPGA开发板/开发平台 | 编程器/烧写器下载器烧录 | ZLG 仿真器ARM FPGA DSP | ZLG周立功逻辑分析仪 |
DSP初学者开发套件(DSK) | DSP仿真器/仿真系统 | DSP开发板/DSP试验箱 | DaVinci系列多媒体平台 | Xilinx FPGA大学计划产品 | SEED教学实验系统 | FPGA/DSP FPGA开发板 | TI原厂开发板套件/CCS软件 |
ARM开发板 | XSCALE开发板 | ARM仿真器 | SOPC开发板 | DSP开发板 | 达芬奇系列DSP开发平台 | DSP仿真器 | DSP实验箱 | DSP专业研究平台 | ARM实验箱系列 |
广嵌实验室项目产品 | GEC2440/GEC6410开发板 |
泰克Tektronix示波器 | 普源RIGOL示波器 | USB虚拟示波器 |
UT-S5PC100 UT-S5PV210 | UT-S3C6410开发板 ARM11 | idea 6410开发板 ARM11 | UT-S3C2450开发板 ARM9 | UT-S3C2416开发板 ARM9 | UT-S3C6410核心板 工控 | 开发板模块wifi gps等 |
EMA OMAP3530开发板 | EMA OMAP 3530核心板 |
三星s3c2410 s3c44B0 | 三星s3c6410 s3c2443 | Intel PXA270 PXA320 | UP-CUP OMAP5910平台 | FPGA Xilinx Altera平台 | 配件-仿真器 模块 液晶屏LCD | 龙芯系列 UP-DRAGON-I |
utu2440-F-V4.5 含核心板 | utu2440-S-V4.1 单板结构 | YC2440-F-V5.1开发板 豪华型 | 触摸屏LCD 摄像头 WI-FI模块 | Mars-EDA套件CPLD FPGA | ePC系列工控一体机ARM9 A8 |
ARM开发板/开发平台 | FPGA开发板/开发平台 | 编程器/烧写器下载器烧录 | ZLG 仿真器ARM FPGA DSP | ZLG周立功逻辑分析仪 |
DSP初学者开发套件(DSK) | DSP仿真器 | DSP开发板 | DSP实验箱 | Xilinx FPGA大学计划产品 |
ARM开发板 | XSCALE开发板 | ARM仿真器 | SOPC开发板 | DSP开发板 | 达芬奇系列DSP开发平台 | DSP仿真器 | DSP实验箱 | DSP专业研究平台 | ARM实验箱系列 |
ARM开发板S3C6410等 | Cortex-A8/ARM11仿真器 | ADSP Blackfin开发板 | FPGA Spartan-3E开发板 |
GEC2410开发套件ARM9 | GEC2440开发套件ARM9 |
泰克 示波器 |
择要:研究数字音频无线传输中的前向纠错(FEC)算法的计划及实现,对前向纠错中的重要成果模块,如RS编解码、交错器与解交错器等给出根本算法及基于现场可编程门阵列(FPGA)和硬件形貌语言的办理方案。选用硬件形貌语言VerilogHDL,在开辟东西QuartusII4.2中完成软核的综合、布局布线和汇编,在Modelsim中举行时序仿真验证,终极下栽到开辟板中举行电路验证及测试。
关键词:RS码;交错;现场可编程门阵列;前向纠错
1 小序
如今,无线产品的遍及应用使无线音频和视频的高质量传输成为大概。蓝牙、无穷局域网等无线传输配置比较巨大,本钱较高,急需开辟一种简便的、仅用于流媒体的无线传输平台,将音频数据及时地发送到移动终端。由于音频数据的及时性,不宜采取反馈重传等导致很大时延的不对控制方法。前向纠错码(FEC)的码字是具有肯定纠错本领的码型,它在吸取端解码后不但可以发明错误,并且可以或许果断错误码元地点的位置并主动纠错。这种纠错码信息不必要保存,不必要反馈,及时性好,故可选择前向纠错来实现不对控制。
笔者计划的体系指标如下:
●当信道误码率为3x10-3时,颠末前向纠错,误码率降到10-7以下;
●数据源利用的是S/PDIF民用数字音频格局标准[1];
●信号时延远小于人的辨别本领(40ms);
●芯片资源耗用不高出20万门;
RS码即里德-所罗门码,它是可以或许改正多个错误的纠错码,具有同时改正突发性错误和随机性错误的本领[2],并且编解码相对大略。思量到体系的误码率和资源耗用,拟采取RS码作为前向纠错码。
在无线信道中,比特不对通常成串产生,这是由于连续时间较长的衰落谷点会影响到几个连续的比特,而信道编码仅在检测和校正单个不对和不太长的不对串时才最有效。为了改正这些成串产生的比特不对及一些突发错误,可以运用交错技能来疏散这些错误,使长串的比特不对变成短串不对,从而可以用前向码对其纠错。
用本体系传输数据时,在发轫先对数据举行RS编码(外码),再举行交错处理惩罚,末了再举行RS编码(内码)。收端序次和发打量反,先举行内码解码,接着举行去交积处理惩罚完成错误疏散,最掉队行外码解码,改正内码未能改正的错误。通过这种2维的RS编解码,可以充分利用RS码纠错本领强的特点,低落体系的误码率。也可思量利用迭代译码[3]。若1次2维译码的结果无法餍足需求,则将译码后的数据反馈回译码器,举行1次迭代译码。迭代次数的增长会带来相应的资源开销和时延的增长。
2 体系布局及实现
纠错编码利用2维RS码。内码采取(10,8)Rs码,q=4,每个码字含32bit数据。外码采取(20,16)RS码,q=8,每个码字含128个数据。交错器大小为1 280bit。以1 280bit为1帧,帧之间预留信息时隙。
下面细致先容交错器,解交错器和(20,16)RS编码器,解码器模块的原理及FPGA实现。(10,8)RS编码器,解码器的原理与(20,16)RS编码器,解码器基真雷同。
2.1(20,16)RS编码器
RS码是BCH码的紧张子类。由于具有同时改正突发性错误和随机性错误的本领,且改正突发性错误更有效,因而被遍及地应用。
(20,16)RS编码器完成RS编码成果,每输入16个码元,耽误1个时钟原样输出,并在其后添加4个校验码元,构成20个码元的输出码字。因此数据输入16个码字后应预留至少4个码字的安定,克制数据丢失。
(20,16)RS是(255,251)RS的收缩码,它是在有限域GF(28)上运算得到的,把(255,251)RS的前235个码元都当作0就得到(20,16)RS码。码参数如下:
码长N=20,信息位个数K=16,校验位N-K=4,纠错本领T=2,码距D=5;
源头根本多项式:
天生多项式:
此中,α是(20,16)RS的源头根本域元素。
编码采取除法方法实现,其原理如图1所示。
整个电路实际上是GF(28)的除法电路。图中乘单位的系数是天生多项式G(x)的映射项系数,映射的除法电路的除数是
被除数的系数是输人数据的8bit码元,根据输入次序举行降幂分列。第1个输入码元是x19的系数,末了1个输入码元是x4的系数。系数都是源头根本多项式P(x)天生的二元扩域GF(28)中的元素。在16个码字都输入后,寄存器D1-D4中生存的数据分别是常数项,x项,x2项和x3项的系数,它们便是所得到的校验码。数据选择电路用来对差别数据举行选择输出。前16个时钟,输人数据根据次序输出,后4个时钟输出谋略得到的校验码。全部输出数据较之输入数据都要耽误1个时钟周期,时钟上升沿同步输出。电路中的重要部分便是GFf(28)中的乘法单位和模加单位。
2.2(20,16)RS解码器
该电路完成(20,16)RS码的解码事变,将20个8bit码元解码为16个8bit的码元。同时输出码字肇始信号、数占据效信号和校验位有效信号。解码器的原理如图2所示。
RS码时域译码法重要有P-G-z法、B-M法[4]和欧氏法。由于P-G-Z法请求解有限域上的逆矩阵,倒霉于实现,因此工程上很少利用。B-M法和欧氏法都是快速递归法,二者等效[5],易于硬件实现,因此得到遍及利用。在本次计划中,采取的解码算法是B-M算法。
RS码时域译码由以下几步构成:
(1)陪伴式谋略电路。陪伴式S1-S4是用于查错和纠错的重要参数。在陪伴式谋略模块中,先举行余式谋略,然后根据余式谋略陪伴式并输出。谋略余式是指在GF(28)域中将以输入码元为系数的x的多项式作为被除数,除以源头根本多项式得到余式。1个码元映射1个余式。得到全部余式以后将各余式的x同幂次系数组合即得到陪伴式。
(2)不对位置多项式系数谋略电路。用于谋略不对位置多项式R(x)的系数A1和A2的值。为实现此目标,必请求解4个非线形方程。在计划中采取迭代的要领来完成这一请求。A1和A2是不对位置多项式的2个系数。要是输入数据无错,那么A1=A2=0。要是有1个错误,则A2=0,只需谋略求得A1的值。
(3)不对位置谋略电路。实现该进程时,用存储器Ds记录多项式D1和D2分别记录记录A1x和A2x2的值。每当1个新的数据到来时,D1和D2都乘α(位置变革1位),再把得到的新值代入Ds以验证是否是方程的根。如许,只需在每个数据到来的时候果断当前Ds=0是否创建,就可果断当前数据是否有错。
(4)误码元错误幅度谋略电路。此模块的成果是当数占据错时(由s举行果断)谋略错误码元的错误幅度。e是谋略得到的错误幅度与相应码元相异或得到的值,可消除错误。要是当前码元无错,那么e=0。
(5)输入数据缓存FIFO。此模块的成果是将源代码字耽误肯定周期输出,以便与错误幅度的输出同步。由双端口RAM构成的可复位。FIFO实现此成果。
(6)纠错电路。此模块完成末了的纠错成果,通过与误码错误幅度e异或来实现。data_temp是从FIFO输出的数据。data_out即为改正错误后的数据输出。以上整个纠错进程有43个时钟的延时。
(7)数据输出电路。此模块重要完成2项成果:天生纠错失败信号fail和输出终极数据。fail信号的天生进程着实便是再求1次陪伴式s。的进程。若谋略出的s1不为0,则阐明纠错不可功,将原始输入数据原样输出,同时fail信号输出高电平。不然,阐明纠错告成,将纠错后的码字输出,。fail保持低电平。本进程有20个时钟的延时。
上面计划的解码电路的关键便是GF(28)域中乘除法单位的硬件实现[6]。基于FPGA存储器资源丰富的特点,计划中采取了查:ROM表的步伐来实现乘除成果。
整个电路体系都在同一体系时钟CLK下事变,高电平复位。
2.3交错器组
本计划中,外编码器的输出按行进入1280bit的交错器,1个交错器存储32个外码码字,然后对交错器的内容按列读出。根据交错器的特性,必要将数据完全装入后才华读出。在读出时,不克不及向交错器内写数据。数据的输入是连续的,必要具有缓存成果的模块对数据举行缓存。采取1组2个交错器轮番读写的要领来包管数据的连续性。2个交错器的输出也是轮番举行的,当1个交错器添补完毕举行输出时,来自外码编码器的数据将被存储到另1个交错器中。交错器组的架构如图3所示。
本计划中,交错器的大小是1280bit,这重要是基于以下几方面的思量。
(1)交错器不宜过大。由于必须完全写满后再读出,数据通过交错器的耽误与交错器大小成正比。因此,较大的交错器会影响整个体系的延时。以是,在包管结果的条件下,交错器要计划得只管即便小。
(2)交错器的大小存在下限,即交错器有交错深度的最小限定[7]。以本计划为例,吸取时第1级解码为(20,16),第2级为(10,8),则第2级的每个码字中不该有2个码元来自于第1级解码器的输出。不然,要是第1级解码器有未告成的解码(多于2个错误码元),则第2级解码器的输入码元中存在多于1个的错误码元的概率大大增长。因此,在本计划中,交错器的下限为第1级解码器的输出码字的10倍,也便是160字节。计划采取的交错器大小恰为下限。
3 体系验证及结论
体系的团体实现与时序验证均利用Altera0uartusIl4.2和Modelsim5.7完成。FEC体系中各个模块及顶层控制部分全部利用VerilogHDI。计划。实现时选择的目标器件是Altera Cyclone公司的EPlC20F400C7。
对整个测试体系的编译结果如下:
在种种信道误码率和差别频率下举行了电路测试,测试结果如表1所示。
根据以上阐发,本计划到达了性能指标。当误码率得当低落时,纠错结果的提拔非常明显。该体系在对S/PDIF格局的音频数据举行编码和解码时共延时3ms。若事变于更高频率,则延时可按比例减小。采取双相标识码串行输入作为数据源头时,数据吞吐量最大可到达32Mb/s,若采取其他数据源头,数据吞吐量最大可达178Mb/s。因此,此体系不但可对音频信号举行前向纠错编解码,还可应用于数据量更大的视频信号等的其他数据传输。
博航网 www.broadon.net 版权所有
京ICP备10051899号-2 京公网安备110108006479号