`
lfp001
  • 浏览: 100618 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

(十二)用JAVA编写MP3解码器——消混叠处理

阅读更多

解码一帧Layer3第6步:消混叠处理 -- class Layer3的antialias方法

 

      消混叠(antialias)处理就是消除伪信号。相邻两个子带间互相干扰造成失真,为了减小这种影响,在信号送入IMDCT之前作消混叠处理。消混叠通过对子带作8点的蝶形变换实现。原理如下图:

Layer3 aliasing reduction

 图1

Layer3 aliasing-butterfly

 图2

      经过逆量化后得到频域信号,一个粒度组内一个声道内共576个频谱值,将576个频谱值被分为18个子带,每个子带32条频率线。8点的的蝶形变换在相邻的两个子带之间进行。图中cai、csi就是源码中的cs[i]和cs[i]。cs[i]和ca[i]我们在构造函数中已经初始化过了。

      【提示】以下代码是Layer3.java的一部分,应遵守《(一)用JAVA编写MP3解码器——前言》中的许可协议。

      class Layer3的antialias方法源码:

	//6.
	//>>>>ANTIALIAS============================================================
	private static float[] ca, cs;

	private void antialias(final int ch, final int gr) {
		GRInfo gr_info = (objSI.ch[ch].gr[gr]);

		int sb, ss, sblim = 0;
		float bu, bd;

		if (gr_info.block_type == 2) {
			if (gr_info.mixed_block_flag == 0)
				return;
			sblim = 1;
		} else
			sblim = (rzero_index[ch] - 1) / 18; //sblim=(17+nozero_index[ch])/18-1

		for (sb = 0; sb < sblim; sb++)
			for (ss = 0; ss < 8; ss++) {
				bu = xr[ch][sb][17 - ss];
				bd = xr[ch][sb + 1][ss];
				xr[ch][sb][17 - ss] = bu * cs[ss] - bd * ca[ss];
				xr[ch][sb + 1][ss] = bd * cs[ss] + bu * ca[ss];
			}
	}
	//<<<<ANTIALIAS============================================================

 

 

上一篇:(十一)用JAVA编写MP3解码器——立体声处理

下一篇:(十三)用JAVA编写MP3解码器——IMDCT快速算法

 

【下载地址】http://jmp123.sourceforge.net/

  • 大小: 29.9 KB
  • 大小: 8.1 KB
分享到:
评论

相关推荐

    介绍一下滤波器立足的根本——抗混叠

    抗混叠滤波器通常在模数转换器(ADC)前端使用,其目的是去除信号中高于奈奎斯特频率的成分。滤波器可以是低通滤波器,它允许低于奈奎斯特频率的信号通过,而衰减或阻止高于该频率的信号。这样,当信号进入ADC时,...

    mp3音频解码器的FPGA原型芯片设计与实现

    本文所探讨的“MP3音频解码器的FPGA原型芯片设计与实现”是一个典型的嵌入式系统设计话题,涉及到数字信号处理、硬件描述语言(HDL)、微电子学等多个学科交叉的领域。在此基础上,对音频解码器的设计及其实现进行...

    AD采样中混叠及抗混叠滤波原理

    在数字信号处理领域中,混叠(Aliasing)是指在对连续信号进行离散采样时,若采样频率低于信号中最高频率成分的两倍,那么高于采样频率一半的所有频率成分将会折叠回较低频率区域的现象。这种现象会导致信号失真,...

    混叠和抗混叠技术

    ### 混叠和抗混叠技术 #### 一、引言 在图像处理领域,尤其是在数字图像的获取与处理过程中,经常会遇到混叠(aliasing)现象。这种现象会导致图像质量下降,出现诸如莫尔条纹、锯齿边缘等不期望的效果。为了克服...

    混叠频率的计算方法及计算公式

    综上所述,混叠是数字信号处理中一个非常关键的概念,尤其是在使用模数转换器(ADC)进行信号采集时。正确理解和掌握混叠频率的计算方法及其背后的基本原理对于确保信号的准确采样和重建至关重要。通过对Ti ADS5500 ...

    两种抗混叠滤波电路的运用_王刚

    一旦这些信号被采样,它们将无法通过数字滤波的方法去除,因此需要在采样之前使用模拟滤波器来进行抗混叠处理。这不仅可以提高数据转换系统的性能,还能确保最终数据的质量。 #### 四、抗混叠滤波电路的实现方法 #...

    VMD.rar_EMD 混叠_EMD模态混叠_VMDmatlab_模态分解

    接下来,“EMD混叠”指的是使用经验模态分解(Empirical Mode Decomposition, EMD)过程中可能出现的问题——模态混叠。"EMD模态混叠"进一步强调了这个问题。最后,“VMDmatlab”表明这个程序是用MATLAB编程语言实现...

    抗混叠滤波器设计工具 (TI)

    抗混叠滤波器设计是数字信号处理领域中的一个重要概念,它主要应用于信号采样前,以确保在转换为离散信号时不会丢失关键信息。德州仪器(TI)提供的抗混叠滤波器设计工具是一种实用的辅助软件,通常以Excel表格的...

    数字信号处理基础——实验报告

    【数字信号处理基础——实验报告】 本实验报告主要围绕数字信号处理的基础知识展开,包括信号、系统及系统响应的分析,重点关注采样理论、时域离散系统的特性、傅立叶变换的应用以及卷积定理的验证。实验旨在让学生...

    混叠通信信号的盲分离处理

    同频混叠信号的处理一直是通信信号处理中的难点,常规的信号处理方法难以对其进行有效分析。本文运用最新的盲源分离理论,实现了混叠通信信号的盲分离。仿真结果表明,本文采用的算法分离效果好,运算速度快,可移植性强,...

    虚拟仪器设计——数据采集PPT课件.pptx

    【虚拟仪器设计——数据采集】 虚拟仪器设计是一个涵盖了硬件和软件的综合技术,它利用计算机技术来构建具有特定测量和控制功能的仪器设备。在数据采集方面,虚拟仪器设计能够高效地处理来自传感器的模拟信号,并将...

    MP3解码程序在Openrisc开发系统上的实现

    4. **立体声处理、子带合成滤波器、混叠抵消和IMDCT模块**:这些模块容易引入量化误差,因此采用了32比特的量化与运算精度,以确保解码后的音质质量。 #### 软件系统设计 软件系统主要分为两个部分:一是解码部分...

    一种分析和设计抗混叠滤波器的方法

    抗混叠滤波器的主要功能是在信号进入模数转换器(ADC)前,对信号进行预处理,通过去除高于采样频率一半的所有频率成分,避免频率混叠的发生。这一过程要求滤波器具有足够的陡度和适当的截止频率,以确保在满足信号...

    《数字信号处理教程》——程佩青

    综上,《数字信号处理教程》——程佩青这本书涵盖了数字信号处理的基本理论、方法和技术,并通过实例解析和习题帮助读者巩固理解。无论是初学者还是专业人士,都能从中受益匪浅,提升对数字信号处理的掌握。

    三大指导原则助你设计抗混叠滤波器

    抗混叠滤波器在信号处理中扮演着至关重要的角色,尤其在高精度模拟到数字转换(ADC)系统中,其设计必须遵循特定的原则以确保有效去除带外噪声,防止混叠现象的发生。混叠是当信号的高频成分被错误地折叠到较低频率...

    (1) 在某些无线信道中,多普勒频移会引起无线信道输出信号的混叠。请描述产生混叠的各种原因

    通过对接收信号的处理,我们可以获取多普勒谱,从而分析混叠的原因和机理。 无线信道中的多普勒频移和混叠是非常重要的研究方向,了解这些现象的原理和机理对于提高无线信道的性能和可靠性至关重要。

    基于MATLAB的信号时域采样及频率混叠现象分析.zip

    在电子工程和信号处理领域,时域采样和频率混叠是两个至关重要的概念,尤其在数字信号处理中。本文将深入探讨这两个概念,并结合MATLAB这一强大的数值计算和仿真工具,来阐述它们的实际应用。 时域采样是将连续时间...

Global site tag (gtag.js) - Google Analytics