虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

音频<b>解码</b>

  • FIR数字滤波器的FPGA最佳实现方法研究.rar

    在图像处理、数据传输、雷达接收等现代信号处理领域,对信号处理的稳定性、实时性和灵活性都有很高的要求。FIR数字滤波器因其线性相位特性满足了现代信号处理领域对滤波器的高性能要求,成为应用最广泛的数字滤波器之一。高密度的FPGA兼顾实时性和灵活性,为FIR数字滤波器的实现提供了强大的硬件支持。 现今FIR数字滤波器的FPGA实现方法中最常用的是基于DA的实现方法和基于CSD编码的实现方法,本文对这两种实现方法进行了深入的探讨,并进行了一定的改进。本论文所做的主要工作和创新如下: 1、对FIR数字滤波器的硬件实现方法进行了理论研究,其中着重对并行FIR数字滤波器的实现方法进行了深入探讨并提出了一个改进的实现方法:基于CSD-DA的改进实现方法。这个实现方法在一定情况下比单纯的基于CSD编码的实现方法和基于DA的实现方法都要节约芯片面积。 2、经过电路建模和数学推导提出了“CSD-DA择优比较法”。该比较法可以从基于CSD编码的实现方法、基于DA的实现方法以及基于CSD-DA的改进实现方法中较精确的选择出最佳实现方法。 3、用Cyclone EPEC6Q240C8芯片和音频编解码芯片TLV320AIC23B实现了一个可以滤除音频信号中高频噪声的音频FIR数字低通滤波器。

    标签: FPGA FIR 数字滤波器

    上传时间: 2013-06-07

    上传用户:zhangyi99104144

  • 基于ARMLinux的流媒体网络广播平台设计

    论文的工作是基于“流媒体网络广播系统”项目。在调研和消化多套国内外相关实验平台系统的基础上,研究开发了基于ARM9处理器和嵌入式Linux操作系统的多功能实时计算机处理系统,并且根据实际需要构建了此系统的软硬件平台。流媒体网络广播系统是当前IT领域比较热门的前沿技术,正是因为这前沿技术使得实际构建出的系统功能强大、体积小、成本低、具有相当强的可扩展性,完全能够取代当前传统广播系统中广泛采用的模拟信号传输方式,同时也更好解决了以往这种结构带来的价格昂贵、体积庞大、系统利用率低等诸多劣势。 本文设计开发了基于AMR-Linux的流媒体网络广播平台,该系统基于SamsLlmgS3C2410处理器,采用嵌入式ARM-Linux操作系统,通过HTTP协议传输流媒体,利用MP3标准实现对音频的解码,从而支持流媒体网络广播功能。本论文设计了系统的软件部分,包括底层软件BootLoader、ARM-Linux操作系统、根文件系统、网卡的驱动程序等并提出了下一步工作的建议和设想。 基于ARM-Linux系统的软件设计方法是本论文的重点和难点,也是论文的核心内容。流媒体网络广播系统已经经过测试,实际的应用效果表明该系统是可行的也是可靠的,同传统的广播系统相比,体现出了明显的优势。

    标签: ARMLinux 流媒体 平台设计 网络广播

    上传时间: 2013-05-29

    上传用户:zhenyushaw

  • IMDCT算法研究及其FPGA实现

    近年来,随着多媒体技术的迅猛发展,电子、计算机、通讯和娱乐之间的相互融合、渗透越来越多,而数字音频技术则是应用最为广泛的技术之一。MP3(MPEG-1 Audio LayerⅢ)编解码算法作为数字音频的解决方案,在便携式多媒体产品中得到了广泛流行。 在已有的便携式MP3系统实现方案中,低速处理器与专用硬件结合的SOC设计方案结合了硬件实现方式和软件实现方式的优点,具有成本低、升级容易、功能丰富等特点。IMDCT(反向改进离散余弦变换)是编解码算法中一个运算量大调用频率高的运算步骤,因此适于硬件实现,以降低处理器的开销和功耗,来提高整个系统的性能。 本文首先阐述了MP3音频编解码标准和流程,以及IMDCT常用的各种实现算法。在此基础上选择了适于硬件实现的递归循环实现方法,并在已有算法的基础上进行了改进,减小了所需硬件资源需求并保持了运算速度。接着提出了模块总体设计方案,结合算法进行了实现结构的优化,并在EDA环境下具体实现,用硬件描述语言设计、综合、仿真,且下载到Xilinx公司的VirtexⅡ系列xc2v1000FPGA器件中,在减小硬件资源的同时快速地实现了IMDCT,经验证功能正确。

    标签: IMDCT FPGA 算法研究

    上传时间: 2013-06-11

    上传用户:亮剑2210

  • 基于FPGA的ADC并行测试方法研究

    高性能ADC产品的出现,给混合信号测试领域带来前所未有的挑战。并行ADC测试方案实现了多个ADC测试过程的并行化和实时化,减少了单个ADC的平均测试时间,从而降低ADC测试成本。本文实现了基于FPGA的ADC并行测试方法。在阅读相关文献的基础上,总结了常用ADC参数测试方法和测试流程。使用FPGA实现时域参数评估算法和频域参数评估算法,并对2个ADC在不同样本数条件下进行并行测试。    本研究通过在FPGA内部实现ADC测试时域算法和频域算法相结合的方法来搭建测试系统,完成了音频编解码器WM8731L的控制模式接口、音频数据接口、ADC测试时域算法和频域算法的FPGA实现。整个测试系统使用Angilent33220A任意信号发生器提供模拟激励信号,共用一个FPGA内部实现的采样时钟控制模块。并行测试系统将WM8731.L片内的两个独立ADC的串行输出数据分流成左右两通道,并对其进行串并转换。然后对左右两个通道分别配置一个FFT算法模块和时域算法模块,并行地实现了ADC参数的评估算法。在样本数分别为128和4096的实验条件下,对WM8731L片内2个被测.ADC并行地进行参数评估,被测参数包括增益GAIN、偏移量OFFSET、信噪比SNR、信号与噪声谐波失真比SINAD、总谐波失真THD等5个常用参数。实验结果表明,通过在FPGA内配置2个独立的参数计算模块,可并行地实现对2个相同ADC的参数评估,减小单个ADC的平均测试时间。FPGA片内实时评估算法的实现节省了测试样本传输至自动测试机PC端的时间。而且只需将HDL代码多次复制,就可实现多个被测ADC在同一时刻并行地被评估,配置灵活。基于FPGA的ADC并行测试方法易于实现,具有可行性,但由于噪声的影响,测试精度有待进一步提高。该方法可用于自动测试机的混合信号选项卡或测试子系统。

    标签: FPGA ADC 并行测试 方法研究

    上传时间: 2013-06-07

    上传用户:gps6888

  • ITU-T发布的音频编解码协议G.723.1源码

    ·文件列表(点击判断是否您需要的文件):   LBCCODEC.H   LPC.C   LPC.H   LSP.C   LSP.H   TAB_LBC.C   TAB_LBC.H   TAME.C   TAME.H   TYPEDEF.H   UTIL_CNG.C   UTIL_C

    标签: ITU-T 723.1 发布 协议

    上传时间: 2013-07-03

    上传用户:eclipse

  • 微电脑型数学演算式隔离传送器

    特点: 精确度0.1%满刻度 可作各式數學演算式功能如:A+B/A-B/AxB/A/B/A&B(Hi or Lo)/|A|/ 16 BIT类比输出功能 输入与输出绝缘耐压2仟伏特/1分钟(input/output/power) 宽范围交直流兩用電源設計 尺寸小,穩定性高

    标签: 微电脑 数学演算 隔离传送器

    上传时间: 2014-12-23

    上传用户:ydd3625

  • 微电脑型数学演算式双输出隔离传送器

    特点(FEATURES) 精确度0.1%满刻度 (Accuracy 0.1%F.S.) 可作各式数学演算式功能如:A+B/A-B/AxB/A/B/A&B(Hi or Lo)/|A| (Math functioA+B/A-B/AxB/A/B/A&B(Hi&Lo)/|A|/etc.....) 16 BIT 类比输出功能(16 bit DAC isolating analog output function) 输入/输出1/输出2绝缘耐压2仟伏特/1分钟(Dielectric strength 2KVac/1min. (input/output1/output2/power)) 宽范围交直流两用电源设计(Wide input range for auxiliary power) 尺寸小,稳定性高(Dimension small and High stability)

    标签: 微电脑 数学演算 输出 隔离传送器

    上传时间: 2013-11-24

    上传用户:541657925

  • 80C51特殊功能寄存器地址表

    /*--------- 8051内核特殊功能寄存器 -------------*/ sfr ACC = 0xE0;             //累加器 sfr B = 0xF0;  //B 寄存器 sfr PSW    = 0xD0;           //程序状态字寄存器 sbit CY    = PSW^7;       //进位标志位 sbit AC    = PSW^6;        //辅助进位标志位 sbit F0    = PSW^5;        //用户标志位0 sbit RS1   = PSW^4;        //工作寄存器组选择控制位 sbit RS0   = PSW^3;        //工作寄存器组选择控制位 sbit OV    = PSW^2;        //溢出标志位 sbit F1    = PSW^1;        //用户标志位1 sbit P     = PSW^0;        //奇偶标志位 sfr SP    = 0x81;            //堆栈指针寄存器 sfr DPL  = 0x82;            //数据指针0低字节 sfr DPH  = 0x83;            //数据指针0高字节 /*------------ 系统管理特殊功能寄存器 -------------*/ sfr PCON  = 0x87;           //电源控制寄存器 sfr AUXR = 0x8E;              //辅助寄存器 sfr AUXR1 = 0xA2;             //辅助寄存器1 sfr WAKE_CLKO = 0x8F;        //时钟输出和唤醒控制寄存器 sfr CLK_DIV  = 0x97;          //时钟分频控制寄存器 sfr BUS_SPEED = 0xA1;        //总线速度控制寄存器 /*----------- 中断控制特殊功能寄存器 --------------*/ sfr IE     = 0xA8;           //中断允许寄存器 sbit EA    = IE^7;  //总中断允许位  sbit ELVD  = IE^6;           //低电压检测中断控制位 8051

    标签: 80C51 特殊功能寄存器 地址

    上传时间: 2013-10-30

    上传用户:yxgi5

  • TLC2543 中文资料

    TLC2543是TI公司的12位串行模数转换器,使用开关电容逐次逼近技术完成A/D转换过程。由于是串行输入结构,能够节省51系列单片机I/O资源;且价格适中,分辨率较高,因此在仪器仪表中有较为广泛的应用。 TLC2543的特点 (1)12位分辩率A/D转换器; (2)在工作温度范围内10μs转换时间; (3)11个模拟输入通道; (4)3路内置自测试方式; (5)采样率为66kbps; (6)线性误差±1LSBmax; (7)有转换结束输出EOC; (8)具有单、双极性输出; (9)可编程的MSB或LSB前导; (10)可编程输出数据长度。 TLC2543的引脚排列及说明    TLC2543有两种封装形式:DB、DW或N封装以及FN封装,这两种封装的引脚排列如图1,引脚说明见表1 TLC2543电路图和程序欣赏 #include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit clock=P1^0; sbit d_in=P1^1; sbit d_out=P1^2; sbit _cs=P1^3; uchar a1,b1,c1,d1; float sum,sum1; double  sum_final1; double  sum_final; uchar duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar wei[]={0xf7,0xfb,0xfd,0xfe};  void delay(unsigned char b)   //50us {           unsigned char a;           for(;b>0;b--)                     for(a=22;a>0;a--); }  void display(uchar a,uchar b,uchar c,uchar d) {    P0=duan[a]|0x80;    P2=wei[0];    delay(5);    P2=0xff;    P0=duan[b];    P2=wei[1];    delay(5);   P2=0xff;   P0=duan[c];   P2=wei[2];   delay(5);   P2=0xff;   P0=duan[d];   P2=wei[3];   delay(5);   P2=0xff;   } uint read(uchar port) {   uchar  i,al=0,ah=0;   unsigned long ad;   clock=0;   _cs=0;   port<<=4;   for(i=0;i<4;i++)  {    d_in=port&0x80;    clock=1;    clock=0;    port<<=1;  }   d_in=0;   for(i=0;i<8;i++)  {    clock=1;    clock=0;  }   _cs=1;   delay(5);   _cs=0;   for(i=0;i<4;i++)  {    clock=1;    ah<<=1;    if(d_out)ah|=0x01;    clock=0; }   for(i=0;i<8;i++)  {    clock=1;    al<<=1;    if(d_out) al|=0x01;    clock=0;  }   _cs=1;   ad=(uint)ah;   ad<<=8;   ad|=al;   return(ad); }  void main()  {   uchar j;   sum=0;sum1=0;   sum_final=0;   sum_final1=0;    while(1)  {              for(j=0;j<128;j++)          {             sum1+=read(1);             display(a1,b1,c1,d1);           }            sum=sum1/128;            sum1=0;            sum_final1=(sum/4095)*5;            sum_final=sum_final1*1000;            a1=(int)sum_final/1000;            b1=(int)sum_final%1000/100;            c1=(int)sum_final%1000%100/10;            d1=(int)sum_final%10;            display(a1,b1,c1,d1);           }         } 

    标签: 2543 TLC

    上传时间: 2013-11-19

    上传用户:shen1230

  • AVR单片机数码管秒表显示

    #include<iom16v.h> #include<macros.h> #define uint unsigned int #define uchar unsigned char uint a,b,c,d=0; void delay(c) { for for(a=0;a<c;a++) for(b=0;b<12;b++); }; uchar tab[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,

    标签: AVR 单片机 数码管

    上传时间: 2013-10-21

    上传用户:13788529953