毕业设计方案FPGA的FIR数字滤波器设计方案.doc

上传人:小飞机 文档编号:4266123 上传时间:2023-04-12 格式:DOC 页数:35 大小:1.01MB
返回 下载 相关 举报
毕业设计方案FPGA的FIR数字滤波器设计方案.doc_第1页
第1页 / 共35页
毕业设计方案FPGA的FIR数字滤波器设计方案.doc_第2页
第2页 / 共35页
毕业设计方案FPGA的FIR数字滤波器设计方案.doc_第3页
第3页 / 共35页
毕业设计方案FPGA的FIR数字滤波器设计方案.doc_第4页
第4页 / 共35页
毕业设计方案FPGA的FIR数字滤波器设计方案.doc_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《毕业设计方案FPGA的FIR数字滤波器设计方案.doc》由会员分享,可在线阅读,更多相关《毕业设计方案FPGA的FIR数字滤波器设计方案.doc(35页珍藏版)》请在三一办公上搜索。

1、学士论文基于FPGA的FIR数字滤波器设计摘 要随着公元的第二十一个世纪的到来,今天我们进入了一个科技日新月异的时代。在现代电子数字系统中,滤波器都以一个不可缺少的身份出现。其中,FIR数字滤波器又以其良好的线性特性被广泛和有针对性的大量使用。众所周知,灵活性和实时性是工程实践中对数字信号处理的基本要求。在以往使用的各种滤波器技术中,不难发现有许许多多的问题。但是,随着现代计算机技术在滤波问题上的飞跃,派生出一个全新的分支数字滤波器。利用可编程逻辑器件和EDA技术,使用FPGA来实现FIR滤波器,可以同时兼顾实时性和灵活性。基于FPGA的FIR数字滤波器的研究势在必行。本论文讨论基于FPGA的

2、FIR数字滤波器设计,针对该毕业设计要做的基本工作有如下几点:一)掌握有限冲击响应FIRFinite Impulse Response, FIR)的基本结构,研究现有的实现方法。对各种方案和步骤进行比较和论证分析,然后针对目前FIR数字滤波器需要的特点,速度快和硬件规模小,作为指导思想进行设计计算。二)基于硬件FPGA的特点,利用Matlab软件以及窗函数法设计滤波器。对整个FPGA元件,计划采用模块化、层次化设计思想,从而对各个部分功能进行更为详细的理解和分工设计。最终FIR数字滤波器的设计语言选择VHDL硬件编程语言。三)设计中的软件仿真使用Altera公司的综合性PLD开发软件Quart

3、us II,并且利用Matlab工具进行对比仿真,在仿真的过程中,对比证明,本论文设计的滤波器的技术指标已经全部达标。关键词:数字滤波器 Matlab 可编程逻辑元件 模块化算法 1绪 论1.1本课题研究意义在现代通信信号处理领域中,随着各种精密计算和快速计算的发展对信号处理的实时性、快速性的要求越来越高。以往的模拟滤波器无法克服电压漂移、温度漂移和噪声等问题,从而带来了许多误差和不稳定因素。而数字滤波器具有稳定性高、精度高、设计灵活、实现方便等突出优点。FPGA元器件在高速并行处理和数据传输中有独特优势,FPGA正在前端信号处理中越来越多地代替ASIC和DSP。我们需要的就是这种设计周期短,

4、功能密度高,重组时间短的元器件。本文在FPGA元器件的基础上,实现现代FIR数字滤波器功能。并且研究多种快速的FIR数字滤波器的理论设计思想和程序设计方法。1.2国内外研究现状分析1985年XilinX公司生产出了第一块FPGA元器件,由于它有着集成度高、方便易用、开发和上市周期短的绝对优势,使得FPGA器件在数字设计和电子生产中得到迅速普及和应用,发展潜力十分巨大。现在FPGA已经发展到可以利用硬件乘加器、片内储存器、逻辑单元、流水处理技术等特有的硬件结构,高速完成FFT 、FIR 、复数乘加、卷积、三角函数以及矩阵运算等数字信号处理。这样可以完成信号处理的主要技术,如中频采样、参数估计、自

5、适应滤波、脉冲压缩、自适应波束形成和旁瓣对消等。1.3研究思路通过对目前数字滤波器的几种实现方法的简单分析,本文认为基于FPGA的数字滤波器具有许多优点,本文考虑到信息技术的发展对于数字滤波器的要求越来越高,而目前FIR数字滤波器的性能还不完善,于是选择了基于FPGA的数字滤波器作为主要研究内容,通常滤波器在进行数据处理时用到了卷积运算,在设计中的解决这些乘法运算的思路是将它们转换成加减法,这是目前解决乘法运算的主流思想。设计初期在Matlab下对滤波器原理进行证明包括零极点图、时域和频域分析图等),分析FIR数字滤波器的多种理论设计思想和窗函数选择方法,在设计后期对FIR数字滤波器的小数乘法

6、问题进行单独论证。然后对分析出来的问题进行论证和解决,最后在QUARTUS中进行仿真验证。1.4相关概念说明数字滤波器是由数字乘法器、加法器和延时单元组成的一种装置。其功能是对输入离散信号的数字代码进行运算处理,以达到改变信号频谱的目的。可认为是一个离散时间系统按预定的算法,将输入离散时间信号转换为所要求的输出离散时间信号的特定功能装置FIRFinite Impulse Response )由线性系统理论可知,在某种适度条件下,输入到线性系统的一个冲击完全可以表征系统。当我们处理有限的离散数据时,线形系统的响应包括对冲击的响应)也是有限的。若线性系统仅是一个空间滤波器,则通过简单地观察它对冲击

7、的响应,我们就可以完全确定该滤波器。通过这种方式确定的滤波器称为有限冲击响应滤波器。图1-1总体设计流程图2 FIR数字滤波器的设计方法2.1理论部分2.1.1引言数字滤波器的功能一般是用来变换时域或者频域中某些要求信号的属性,滤除信号中某一部分频率分量。经过数字滤波器的信号是让其频谱与数字滤波器的频率响应相乘从而得出新的结果。经过一个线性卷积过程,从时域上输入信号与滤波器的单位冲击响应作一个卷积和。下面是卷积定义式:1)LTI数字滤波器在一般情况下分为有限脉冲响应,FIR数字滤波器的设计方法和IIR滤波器的设计方法有很大的差别。因为其设计方向是选择有限长度的h(n,使频率响应函数H(e满足指

8、标。数字滤波器正在用直接的电子计算机规范和算法进行分析的方式来逐渐代替传统的模拟滤波器的RLC元器件和放大电路。2.1.2 FIR数字滤波器的基础首先介绍FIR数字滤波器基本原理,在如下表格中对FIR和IIR数字滤波器进行了全面的比较:表2-1两种滤波器特点比较分析FIR数字滤波器IIR数字滤波器设计方法在一般的情况下,FIR数字滤波器没有设计公式。它的设计需要借助计算机程序完成可以利用AF的设计成果,可简单、有效地完成设计阶数高低稳定性在稳定性方面的表达式为:的内容是n次乘法和n-1次加法,然后做乘累加之和。如图2-1所示:图2-1 FIR滤波器直接型网络结构从DSP的介绍中,第一类线性相位

9、对h(n的约束条件:由公式3),4)我们可以推出:从数字信号处理学科中知道函数关于求和区间的中心满足如下条件:其中对应的有呈现对称特性,即此具有线性相位的滤波器是FIR数字滤波器。滤波器的基础网络结构可以相互进行转换。在前面本文已经讨论过, FPGA的实现中将对各种方法进行比较,找出最优设计方式。从而达到减少资源占有和提高系统作业速度的目的,更好的体现实时性的数字滤波器优势。2.1.3数字滤波器的设计原理在数字信号处理技术的研究中,一般是使用的三种设计方法:窗函数法,FDATool直接设计法,程序编译法。本文首先使用窗函数和Matlab软件共同进行设计。随着软件技术的不断发展,Matlab软件

10、能给设计者带来的数字信号处理工作已经非常的完善和多样了,设计者可以利用Matlab软件进行数字滤波器的设计和仿真,而且还可以用这款软件进行设计的优化。数字滤波器的一般设计步骤如下:1.指标的确定做任何工程或者设计,设计者都必须要有一个期望的指标用来限制设计范围。在很多的实际应用中,设计者常常都是使用数字滤波器做选频的工作。因此,指标的形式一半在频域中给出相位响应和幅度。相位响应的指标形式,一半是指系统在通频带中药有线性相位。幅度指标:绝对指标,它给出对幅度响应函数的要求,一般用于FIR滤波器的设计。相对指标,以分贝值的形式给出具体限制。2.逼近目标设计者做高频的时候大概都有一个模式,就是首先得

11、到技术指标,然后利用我们的技术和工具让我们的产品去逼近这个指标。同理我们首先建立以个目标的数字滤波器模型。一般情况下都是采用理想的数字滤波器模型,然后去逼近我们想要的目标数字滤波器参数。3.计算机仿真和性能优化分析在工作中我们发现通过1)、0于是有Rp=20,所以dev(1,dev(2可以被表示出来。2.逼近法程序描述与思想有了这几个参数我们现在就可以根据已经设定好的格式来调用函数remezord和remez函数了,于是可得如下程序。clear。close allfc=1/4。fs=5/16。 %输入给定指标Rp=3。As=60。Fs=2。f=fc,fs。m=1,0。 %计算remezord函

12、数所需参数f,m,devdev=(10(Rp/20-1/(10(Rp/20+1,10(-As/20。N,fo,mo,W=remezord(f,m,dev,Fs。 %确定remez函数所需参数hn=remez(N,fo,mo,W。 %调用remez函数进行设计hw=fft(hn,512。 %求设计出的滤波器频率特性w=0:511 *2/512。plot(w,20*log10(abs(hw。grid。 %画对数幅频特性图axis(0,max(w/2,-90,5。 xlabel(w/pi。ylabel(Magnitude(dBline(0,0.4,-3,-3。 %画线检验设计结果line(1/4,1

13、/4,-90,5。line(5/16,5/16,-90,5。程序结束。3.仿真图像与结果用以上的程序我们可以得到在Matlab中的许多参数和图像,从而进一步分析我们的设计。首先引入程序输出的幅频特性图:。 %计算窗口长度wc=wlp/pi-6/N,whp/pi+6/N。 %设置理想带通截止频率hn=fir1(N-1,wc,Blackman(N。 %设计滤波器参数6.理论计算方法总结仿真完成之后,掌握如何去利用已有的指标去设计一个滤波器,总的来说就是四项:通过傅里叶逆变换获得理想滤波器的单位脉冲响应hd(n。分析给定参数,计算出滤波器的阶数,频率等等相关指标。把已经有的参数用程序函数表达出来,利

14、用已经有的各种内置函数架设起滤波器。参看Matlab的输出图形和参数是否满足要求。2.1.5 Matlab直接FDAtool设计方式解读FDATool(Filter Design & Analysis Tool是MATLAB信号处理工具箱里专用的滤波器设计分析工具,MATLAB6.0以上的版本还专门增加了滤波器设计工具箱(Filter Design Toolbox。FDATool可以设计几乎所有的基本的常规滤波器,包括FIR和IIR的各种设计方法。它操作简单,方便灵活。FDATool界面总共分两大部分,一部分是Design Filter,在界面的下半部,用来设置滤波器的设计参数,另一部分则是特

15、性区,在界面的上半部分,用来显示滤波器的各种特性。Design Filter部分主要分为:Filter Type(滤波器类型选项,包括Lowpass(低通、Highpass(高通、Bandpass(带通、Bandstop(带阻和特殊的FIR滤波器。Design Method(设计方法选项,包括IIR滤波器的Butterworth(巴特沃思法、Chebyshev Type I(切比雪夫I型法、 Chebyshev Type II(切比雪夫II型 法、Elliptic(椭圆滤波器法和FIR滤波器的Equiripple法、Least-Squares(最小乘方法、Window(窗函数法。Filter

16、Order(滤波器阶数选项,定义滤波器的阶数,包括Specify Order(指定阶数和Minimum Order(最小阶数。在Specify Order中填入所要设计的滤波器的阶数(N阶滤波器,Specify OrderN-1,如果选择Minimum Order则MATLAB根据所选择的滤波器类型自动使用最小阶数。Frenquency Specifications选项,可以详细定义频带的各参数,包括采样频率Fs和频带的截止频率。它的具体选项由Filter Type选项和Design Method选项决定,例如Bandpass(带通滤波器需要定义Fstop1(下阻带截止频率、Fpass1(通带

17、下限截止频率、Fpass2(通带上限截止频率、Fstop2(上阻带截止频率,而Lowpass(低通滤波器只需要定义Fstop1、Fpass1。采用窗函数设计滤波器时,由于过渡带是由窗函数的类型和阶数所决定的,所以只需要定义通带截止频率,而不必定义阻带参数。Magnitude Specifications选项,可以定义幅值衰减的情况。例如设计带通滤波器时,可以定义Wstop1(频率Fstop1处的幅值衰减、Wpass(通带范围内的幅值衰减、Wstop2(频率Fstop2处的幅值衰减。当采用窗函数设计时,通带截止频率处的幅值衰减固定为6db,所以不必定义。参数要求:采样频率fs=100Hz,通带下

18、限截止频率fc1=10 Hz,通带上限截止频率fc2=20 Hz,过渡带宽6 Hz,通阻带波动0.01,采用凯塞窗设计。针对一个含有5Hz、15Hz和30Hz的混和正弦波信号已知滤波器的阶数n=38,beta=3.4。本例中,首先在Filter Type中选择Bandpass;在Design Method选项中选择FIR Window,接着在Window选项中选取Kaiser,Beta值为3.4;指定Filter Order项中的Specify order为38;采样频率Fs=100Hz,截止频率Fc1=10Hz,Fc2=20Hz。设置完以后点击窗口下方的Design Filter,在窗口上方

19、就会看到所设计滤波器的幅频响应,通过菜单选项Analysis还可以看到滤波器的相频响应、组延迟、脉冲响应、阶跃响应、零极点配置等。设计完成后将结果保存为kaiser15.fda文件。我们可以根据FDAtool工具得到我们的滤波器相关增益。系数转换成二进制码:若采用乘法器,用1位整数位,1位符号位,共22位定点二进制数进行运算,负数用补码表示,由此将减法运算变成累加求和运算。各系数可用matlab编程转成二进制补码: /* * Filter Coefficients (C Source generated by the Filter Design and Analysis Tool * * Ge

20、nerated by MATLAB(R 7.0 and the * * Generated on: 22-Mar-2018 20:09:12 * */* * Discrete-Time FIR Filter (real * - * Filter Structure : Direct-Form FIR * Filter Order : 38 * Stable : Yes * Linear Phase : Yes (Type 1 */* General type conversion for MATLAB generated C-code */#include tmwtypes.h/* * Exp

21、ected path to tmwtypes.h * D:MATLAB7externincludetmwtypes.h */const int BL = 39。const real64_T B39 = -0.0008969942906957,0.001248746631882,0.007070735236406,0.009180571739749,-8.354434235897e-018,-0.01457672567709,-0.01798701306701,-0.005189936475222,0.006300913248271,-5.136773213647e-018,-0.0092004

22、36084654,0.01113207796169,0.05739543087552,0.07065284310647,-2.116878167777e-017,-0.1149210109554,-0.1575671556317,-0.05691148173912,0.1151784185022,0.2,0.1151784185022,-0.05691148173912,-0.1575671556317,-0.1149210109554,-2.116878167777e-017,0.07065284310647,0.05739543087552,0.01113207796169,-0.0092

23、00436084654,-5.136773213647e-018,0.006300913248271,-0.005189936475222,-0.01798701306701,-0.01457672567709,-8.354434235897e-018,0.009180571739749,0.007070735236406,0.001248746631882,-0.0008969942906957。这是一个非常典型的例子,可以清晰的看到利用Matlab提供的FDAtool设计滤波器的方便与快捷。比较以上几种类型的滤波器参数,在给定的参数要求下,采用椭圆滤波器可以获得最佳的幅频响应特性,具有阶数

24、低,过渡带窄等优点。虽然椭圆滤波器在通带也会产生波动,但考虑到波动处在可接受的范围内,仍然符合设计要求。但由直接型传输函数表达式来实现并不实用。因此如前所说,将其分解为多个二阶传输函数的级联形式。借助Matlab 信号处理工具箱中函tf2sos(Transfer function to second- order- section将传递函数转换为二阶级联形式。对于是数字信号,需要对先前分析计算中分解获得的二阶子系统的滤波器系数进行量化,即用一个固定的字长加以表示。量化过程中由于存在不同程度的量化误差,由此会导致滤波器的频率响应出现偏差,严重时会使滤波器的极点移到单位圆之外,使系统不稳定。为了获

25、得最优的滤波器系数,量化的精度也相当重要。2.1.6 FDAtool设计模板及设计结果图 这里把上面的滤波器设计参数的总体图给出,如图2-10图2-10 FIR带通滤波器总体设计参数2.2程序分析部分根据上述FIR低通数字滤波器的原理与滤波特性,我们在上面的软件实践中已经掌握了设计数字滤波器的方法并且成功的使用Matlab/Simulink进行了设计和仿真。通过以上的过程我们可以导出一定性能的FIR滤波器频率响应与抽头系数,然后用Verilog HDL语言设计和QUARTUS仿真FIR低通数字滤波器,实现用软件描述硬件的动作及功能,应用软件来实现数字滤波器的功能和时序仿真。2.2.1 FPGA

26、 可编程逻辑元件介绍EDA是Electronic Design Automation的缩写,意为电子设计自动化,即利用计算机自动完成电子系统的设计。EDA技术是以计算机和微电子技术为先导,汇集了计算机图形学、拓扑、逻辑学、微电子工艺与结构学和计算数学等多种计算机应用学科最新成果的先进技术。它与电子技术、微电子技术的发展密切相关,吸收了计算机领域的大多数最新研究成果,以高性能的计算机作为工作工具,在EDA软件平台土,根据硬件描述语言HDL完成的设计文件,自动地完成逻辑编译、化简、分割、综合及优化、布线、仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。可编程逻辑器PLD(Progr

27、ammable Logic Devices是ASIC(ApplicationSpecific Integrated Circuits的一个重要分支。ASIC按制造方法又可分为全定制(Full Custom产品、半定制(semi-custom产品和可编程逻辑器件(PLD。前两种ASIC的设计和制造都离不开器件生产厂家,用户主动性较差。随着微电子技术的发展,设计师们更愿意自己设计专用集成电路芯片,并尽可能缩短设计周期,最好是在实验室里就能设计出合适的ASIC芯片,并且立即投入实际应用之中,在使用中也能比较方便的对设计进行修改。可编程逻辑器件就是为满足用户的这一需求应运而生的。使用FPGA器件设计数

28、字电路,不仅可以简化设计过程,而且可以降低整个系统的体积和成本,增加系统的可靠性。它们无需花费传统意义下制造集成电路所需大量时间和精力,避免了投资风险,成为电子器件行业中发展最快的一族。使用FPGA器件设计数字系统电路的主要优点如下:1.设计灵活使用FPGA器件,可不受标准系列器件在逻辑功能上的限制。而且修改逻辑可在系统设计和使用过程的任一阶段中进行,并且只须通过对所用的FPGA器件进行重新编程即可完成,给系统设计提供了很大的灵活性。2.增大功能密集度功能密集度是指在给定的空间能集成的逻辑功能数量。可编程逻辑芯片内的组件门数高,一片FPGA可代替几片、几十片乃至几百片中小规模的数字集成电路芯片

29、。用FPGA器件实现数字系统时用的芯片数量少,从而减少芯片的使用数目,减少印刷线路板面积和印刷线路板数目,最终导致系统规模的全面缩减。3.提高可靠性减少芯片和印刷板数目,不仅能缩小系统规模,而且它还极大的提高了系统的可靠性。具有较高集成度的系统比用许多低集成度的标准组件设计的相同系统具有高得多的可靠性。使用FPGA器件减少了实现系统所需要的芯片数目,在印刷线路板上的引线以及焊点数量也随之减少,所以系统的可靠性得以提高。4.缩短设计周期基于FPGA器件的可编程性和灵活性,用它来设计一个系统所需时间比传统方法大为缩短。FPGA器件集成度高,使用时印刷线路板电路布局布线简单。同时,在样机设计成功后,

30、由于开发工具先进,自动化程度高,对其进行逻辑修改也十分简便迅速。因此,使用FPGA器件可大大缩短系统的设计周期,加快产品投放市场的速度,提高产品的竞争能力。5.工作速度快FPGA/CPLD器件的工作速度快,一般可以达到几百兆赫兹,远远大于DPS器件。同时,使用FPGA器件后实现系统所需要的电路级数又少,因而整个系统的工作速度会得到提高。6.增加系统的保密性能很多FPGA器件都具有加密功能,在系统中广泛的使用FPGA器件可以有效防止产品被他人非法仿制。7.降低成本使用FPGA器件实现数字系统设计时,如果仅从器件本身的价格考虑,有时还看不出来它的优势,但是影响系统成本的因素是多方面的,综合考虑,使

31、用FPGA的成本优越性是很明显的。首先,使用FPGA器件修改设计方便,设计周期缩短,使系统的研制开发费用降低。其次,FPGA器件可使印刷线路板面积和需要的插件减少,从而使系统的制造费用降低。再次,使用FPGA器件能使系统的可靠性提高,维修工作量减少,进而使系统的维修服务费用降低。总之,使用FPGA器件进行系统设计能节约成本。2.2.2 Quartus及Verilog HDL介绍Quartus II 属于Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDLAltera Hardware Description Language)等多种设计输入形式,内嵌自

32、有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。 Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。 Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。 此外,Quartus II 通过和DSP Builder工具与Matlab/Simu

33、link相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统,为了制作数字电路而用来描述ASIC和FPGA的设计之用。VerilogHDL 的设计者想要以 C 编程语言为基础设计一种语言,可以使工程师比较容易学习。2.2.3实际滤波器程序设计 118bits根据以上指标,利用MATLAB中的FIR滤波器系数设计命令fir1(10,0.85所设计滤波器的系数。表2-4 Matlab中导出的滤波器系数MATLAB软件仿真的滤波器的抽头系数及其幅度频响特性如下图2-11所示。图2-11 11阶FIR滤波器的抽头系数和幅频特性曲线可见抽头系数是奇对称的,即:,。FIR滤波器采用对

34、称结构,每个抽头的输出分别乘以相应加权的二进制值,再将结果相加。同时,利用滤波器系数的及对称的特性,对输入信号进行如下等效:,。2.2.4.VerilogHDL的实现这个方法的实现中,使用了移位代替乘法运算来实现滤波器乘加的方法。由于滤波器系数都是小数,所以我们先左移7位即放大128倍),再用相应的移位来近似这些系数,最后经过乘加运算得到结果,对这个结果再右移7位=1280.036=0.4608=0.5-0.03125128h(1=1280.0127=1.6256=1+0.5+0.125128h(2=1280.0417=5.3376=4+1+0.25+0.625+0.03125128h(3=1

35、280.0878=11.2384=8+4-1+0.25128h(4=1280.1318=16.8704=16+1-0.125128h(5=1280.8500=108.800=128-16-4+0.25+0.0625这样,我们就可以把这个11阶FIR数字滤波器的输出用一下的算式得到表2-5 Verilog方法设计FIR的实验数据图 2-12系数放大后求SUM计算得到结果后再将sum右移7位,即可得到正确结果。程序的功能仿真结果如下图2-12所示。图2-13功能仿真由上图2-12可以看出,tap0到tap10是输入x的依次延时1个时钟周期,结果sum输出相对于输入x延迟了2个时钟周期,y输出相对于sum输出延迟了1个时钟周期,这和程序设计相符合。同时,对比程序运行结果和MATLAB的计算结果。 input clk。 input 7:0 x。 output 25:0 y。reg 26:0 y。 reg7:0 x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16。 wire21:0 acc1,acc2,acc3,acc4,acc5,acc6,acc7,acc8,acc9,acc10,acc11,acc12,acc13,acc14,acc15,acc16,acc17。 reg 8

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号