已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数字信号处理课程设计报告题目:基于MATLAB有噪声语音信号处理系 (院): 计算机工程学院 专 业: 通信工程 班 级: 通信1071 学 号: 姓 名: 指导教师: - 学年学期: 2009 2010 学年 第 1 学期2009年12月18日设计任务书课题名称基于MATLAB有噪声语音信号的处理设计目的1. 巩固所学的数字信号处理理论知识, 理解信号的采集、处理、传输、显示和存储过程;2. 综合运用专业及基础知识,解决实际工程技术问题的能力;3. 学习资料的收集与整理,学会撰写课程设计报告。实验环境1. 微型电子计算机(PC);2. 安装Windows 2000以上操作系统,MATLAB等开发工具。任务要求1. 选择一个语音信号作为分析的对象,或录制一段各人自己的语音信号,对其进行频谱分析;利用MATLAB中的随机函数产生噪声加入到语音信号中,模仿语音信号被污染,并对其进行频谱分析;设计FIR和IIR数字滤波器, 并对被噪声污染的语音信号进行滤波,分析滤波后信号的时域和频域特征,回放语音信号。最后,设计一个信号处理系统界面。2. 利用课余时间去图书馆或上网查阅课题相关资料,深入理解课题含义及设计要求,注意材料收集与整理;3. 在第15周末之前完成预设计,并请指导教师审查,通过后方可进行下一步工作;4. 结束后,及时提交设计报告(含纸质稿、电子稿),要求格式规范、内容完整、结论正确,正文字数不少于3000字(不含代码)。工作进度计划序号起止日期工 作 内 容12009.12.142009.12.14在预设计的基础上,进一步查阅资料,完善设计方案。22009.12.142009.12.17设计总体方案,构建、绘制流程框图,编写代码,上机调试。32009.12.172009.12.18测试程序,完善功能,撰写设计报告。42009.12.18参加答辩,根据教师反馈意见,修改、完善设计报告。指导教师(签章): 年 月 日 摘要滤波器设计在数字信号处理中占有极其重要的地位,FIR数字滤波器和IIR滤波器是滤波器设计的重要组成部分。利用MATLAB信号处理工具箱可以快速有效地设计各种数字滤波器。课题基于MATLAB有噪音语音信号处理的设计与实现,综合运用数字信号处理的理论知识对加噪声语音信号进行时域、频域分析和滤波。通过理论推导得出相应结论,再利用 MATLAB 作为编程工具进行计算机实现。在设计实现的过程中,使用窗函数法来设计FIR数字滤波器,用巴特沃斯、切比雪夫和双线性变法设计IIR数字滤波器,并利用MATLAB 作为辅助工具完成设计中的计算与图形的绘制。通过对对所设计滤波器的仿真和频率特性分析,可知利用MATLAB信号处理工具箱可以有效快捷地设计FIR和IIR数字滤波器,过程简单方便,结果的各项性能指标均达到指定要求。关键词 数字滤波器 MATLAB 窗函数法 巴特沃斯 切比雪夫 双线性变换目录1 绪论12 课程设计内容23 课程设计的具体实现23.1 语音信号的采集23.2 语音信号的时频分析23.3 语音信号加噪与频谱分析43.4 设计FIR和IIR数字滤波器53.5 用滤波器对加噪语音信号进行滤波123.6 比较滤波前后语音信号的波形及频谱123.7回放语音信号193.8设计系统界面193.9小结21结论22致谢23参考文献241 绪论数字信号处理是利用计算机或专用处理设备,以数值计算的方法对信号进行采集、抽样、变换、综合、估值与识别等加工处理,借以达到提取信息和便于应用的目的。它在语音、雷达、图像、系统控制、通信、航空航天、生物医学等众多领域都获得了极其广泛的应用。具有灵活、精确、抗干扰强、设备尺寸小、造价低、速度快等优点。数字滤波器, 是数字信号处理中及其重要的一部分。随着信息时代和数字技术的发展,受到人们越来越多的重视。数字滤波器可以通过数值运算实现滤波,所以数字滤波器处理精度高、稳定、体积小、重量轻、灵活不存在阻抗匹配问题,可以实现模拟滤波器无法实现的特殊功能。数字滤波器种类很多,根据其实现的网络结构或者其冲激响应函数的时域特性,可分为两种,即有限冲激响应( FIR,Finite Impulse Response)滤波器和无限冲激响应( IIR,Infinite Impulse Response)滤波器。FIR滤波器结构上主要是非递归结构,没有输出到输入的反馈,系统函数H (z)在处收敛,极点全部在z = 0处(因果系统),因而只能用较高的阶数达到高的选择性。FIR数字滤波器的幅频特性精度较之于IIR数字滤波器低,但是线性相位,就是不同频率分量的信号经过fir滤波器后他们的时间差不变,这是很好的性质。FIR数字滤波器是有限的单位响应也有利于对数字信号的处理,便于编程,用于计算的时延也小,这对实时的信号处理很重要。 FIR滤波器因具有系统稳定,易实现相位控制,允许设计多通带(或多阻带)滤波器等优点收到人们的青睐。IIR滤波器采用递归型结构,即结构上带有反馈环路。IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。同时,IIR数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等,有现成的设计数据或图表可查,在设计一个IIR数字滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。滤波器的设计可以通过软件或设计专用的硬件两种方式来实现。随着MATLAB软件及信号处理工具箱的不断完善,MATLAB很快成为应用学科等领域不可或缺的基础软件。它可以快速有效地实现数字滤波器的设计、分析和仿真,极大地减轻了工作量,有利于滤波器设计的最优化。2 课程设计内容选择一个语音信号作为分析的对象,或录制一段各人自己的语音信号,对其进行频谱分析;利用MATLAB中的随机函数产生噪声加入到语音信号中,模仿语音信号被污染,并对其进行频谱分析;设计FIR和IIR数字滤波器, 并对被噪声污染的语音信号进行滤波, 分析滤波后信号的时域和频域特征,回放语音信号;最后,设计一个信号处理系统界面。在所设计的系统界面上可以选择滤波器的类型。3 课程设计的具体实现3.1 语音信号的采集利用PC 机上的声卡和WINDOWS 操作系统可以进行数字信号的采集。将话筒输入计算机的语音输入插口上,启动录音机。按下录音按钮,接着对话筒说话,说完后停止录音,屏幕左侧将显示所录声音的长度。点击放音按钮,可以实现所录音的重现。取一段音频,以文件名“FF”保存入g : MATLAB work 中。格式为wav。3.2 语音信号的时频分析利用MATLAB中的“wavread”命令来读入(采集)语音信号,将它赋值给某一向量。再对其进行采样,记住采样频率和采样点数。下面介绍Wavread 函数几种调用格式。(1)y=wavread(file)功能说明:读取file所规定的wav文件,返回采样值放在向量y中。(2)y,fs,nbits=wavread(file) 功能说明:采样值放在向量y中,fs表示采样频率(hz),nbits表示采样位数。(3)y=wavread(file,N)功能说明:读取钱N点的采样值放在向量y中。(4)y=wavread(file,N1,N2)功能说明:读取从N1到N2点的采样值放在向量y中。接下来,对语音信号FF.wav进行采样。其程序如下: y,fs,nbits=wavered (FF); %把语音信号加载入Matlab 仿真软件平台中然后,画出语音信号的时域波形,再对语音信号进行频谱分析。MATLAB提供了快速傅里叶变换算法FFT计算DFT的函数fft,其调用格式如下:Xk=fft(xn,N)参数xn为被变换的时域序列向量,N是DFT变换区间长度,当N大于xn的长度时,fft函数自动在xn后面补零。,当N小于xn的长度时,fft函数计算xn的前N个元素,忽略其后面的元素。在本次设计中,我们利用fft对语音信号进行快速傅里叶变换,就可以得到信号的频谱特性。其程序如下: y,fs,nbits=wavread (FF.wav);sound(y,fs,nbits); %回放语音信号N= length (y) ; %求出语音信号的长度Y=fft(y,N); %傅里叶变subplot(2,1,1);plot(y);title(原始信号波形);xlabel(时间轴)ylabel(幅值A)subplot(2,1,2);plot(abs(Y);title(原始信号频谱)xlabel(频率Hz)ylabel(频率幅值) 程序结果如下图: 图1 原始信号波形及频谱3.3 语音信号加噪与频谱分析MATLAB中产生高斯白噪声非常方便,有两个产生高斯白噪声的两个函数 。我们可以直接应用两个函数:一个是WGN,另一个是AWGN。WGN用于产生高斯白噪声,AWGN则用于在某一信号中加入高斯白噪声。也可直接用randn函数产生高斯分布序列。在本次课程设计中,我们是利用MATLAB中的随机函数(randn)产生噪声加入到语音信号中,模仿语音信号被污染,并对其频谱分析。Randn函数有两种基本调用格式:Randn(n)和Randn(m,n),前者产生nn服从标准高斯分布的随机数矩阵,后者产生mn的随机数矩阵。在这里,我们选用Randn(m,n)函数。语音信号添加噪声及其频谱分析的主要程序如下:y,fs,nbits=wavread (FF);N = length (y) ; %求出语音信号的长度Noise=0.1*randn(N,2) %随机函数产生噪声Si=y+Noise; %语音信号加入噪声 sound(Si);subplot(2,1,1);plot(Si);title(加噪语音信号的时域波形);S=fft(Si); %傅里叶变换subplot(2,1,2);plot(abs(S); title(加噪语音信号的频域波形); 程序结果如下图:图2 加噪后的波形及频谱分析3.4 设计FIR和IIR数字滤波器IIR滤波器和FIR滤波器的设计方法完全不同。IIR滤波器设计方法有间接法和直接法,间接法是借助于模拟滤波器的设计方法进行的。其设计步骤是:先设计过渡模拟滤波器得到系统函数H(s),然后将H(s)按某种方法转换成数字滤波器的系统函数H(z)。FIR滤波器比鞥采用间接法,常用的方法有窗函数法、频率采样发和切比雪夫等波纹逼近法。对于线性相位滤波器,经常采用FIR滤波器。 对于数字高通、带通滤波器的设计,通用方法为双线性变换法。可以借助于模拟滤波器的频率转换设计一个所需类型的过渡模拟滤波器,再经过双线性变换将其转换策划那个所需的数字滤波器。具体设计步骤如下:(1)确定所需类型数字滤波器的技术指标。(2)将所需类型数字滤波器的边界频率转换成相应的模拟滤波器的边界频率,转换公式为=2/T tan(0.5)(3)将相应类型的模拟滤波器技术指标转换成模拟低通滤波器技术指标。(4)设计模拟低通滤波器。(5)通过频率变换将模拟低通转换成相应类型的过渡模拟滤波器。(6)采用双线性变换法将相应类型的过渡模拟滤波器转换成所需类型的数字滤波器。我们知道,脉冲响应不变法的主要缺点是会产生频谱混叠现象,使数字滤波器的频响偏离模拟滤波器的频响特性。为了克服之一缺点,可以采用双线性变换法。下面我们总结一下利用模拟滤波器设计IIR数字低通滤波器的步骤:(1)确定数字低通滤波器的技术指标:通带边界频率、通带最大衰减,阻带截止频率、阻带最小衰减。(2)将数字低通滤波器的技术指标转换成相应的模拟低通滤波器的技术指标。(3)按照模拟低通滤波器的技术指标设计及过渡模拟低通滤波器。(4)用双线性变换法,模拟滤波器系统函数转换成数字低通滤波器系统函数。如前所述,IIR滤波器和FIR滤波器的设计方法有很大的区别。下面我们着重介绍用窗函数法设计FIR滤波器的步骤。如下:(1)根据对阻带衰减及过渡带的指标要求,选择串窗数类型(矩形窗、三角窗、汉宁窗、哈明窗、凯塞窗等),并估计窗口长度N。先按照阻带衰减选择窗函数类型。原则是在保证阻带衰减满足要求的情况下,尽量选择主瓣的窗函数。(2)构造希望逼近的频率响应函数。(3)计算h(n).。(4)加窗得到设计结果。接下来,我们根据语音信号的特点给出有关滤波器的技术指标:低通滤波器的性能指标:fp=1000Hz,fc=1200Hz,As=100db ,Ap=1dB高通滤波器的性能指标:fp=3500Hz,fc=4000Hz,As=100dB,Ap=1dB;带通滤波器的性能指标:fp1=1200Hz,fp2=3000hZ,fc1=1000Hz,fc2=3200Hz,As=100dB,Ap=1dB在Matlab中,可以利用函数fir1设计FIR滤波器,利用函数butter,cheby1和ellip设计IIR滤波器,利用Matlab中的函数freqz画出各步步器的频率响应。hn=fir1(M,wc,window),可以指定窗函数向量window。如果缺省window参数,则fir1默认为哈明窗。其中可选的窗函数有Rectangular Barlrtt Hamming Hann Blackman窗,其相应的都有实现函数。MATLAB信号处理工具箱函数buttp buttor butter是巴特沃斯滤波器设计函数,其有5种调用格式,本课程设计中用到的是N,wc=butter(N,wc,Rp,As,s),该格式用于计算巴特沃斯模拟滤波器的阶数N和3dB截止频率wc。MATLAB信号处理工具箱函数cheblap,cheblord和cheeby1是切比雪夫I型滤波器设计函数。我们用到的是cheeby1函数,其调用格式如下:B,A=cheby1(N,Rp,wpo,ftypr)B,A=cheby1(N,Rp,wpo,ftypr,s) 函数butter,cheby1和ellip设计IIR滤波器时都是默认的双线性变换法,所以在设计滤波器时只需要代入相应的实现函数即可。下面我们将给出FIR和IIR数字滤波器的主要程序。%=IIR低通滤波器=wp=2*pi*Fp/Ft;ws=2*pi*Fs/Ft;fp=2*Ft*tan(wp/2);fs=2*Fs*tan(wp/2);n11,wn11=buttord(wp,ws,1,50,s); %求低通滤波器的阶数和截止频率b11,a11=butter(n11,wn11,s); %求S域的频率响应的参数 num11,den11=bilinear(b11,a11,0.5); %双线性变换实现S域到Z域的变换 h,w=freqz(num11,den11); %根据参数求出频率响应plot(w*8000*0.5/pi,abs(h);legend(用butter设计);图3 IIR低通滤波器%=IIR带通=wp1=tan(pi*Fp1/Ft); %带通到低通滤波器的转换wp2=tan(pi*Fp2/Ft);ws1=tan(pi*Fs1/Ft);ws2=tan(pi*Fs2/Ft);w=wp1*wp2/ws2;bw=wp2-wp1;wp=1;ws=(wp1*wp2-w.2)/(bw*w);n12,wn12=buttord(wp,ws,1,50,s); %求低通滤波器阶数和截止频率b12,a12=butter(n12,wn12,s); %求S域的频率响应参数num2,den2=lp2bp(b12,a12,sqrt(wp1*wp2),bw);%将S域低通参数转为带通的num12,den12=bilinear(num2,den2,0.5);%双线性变换实现S域到Z域的转换h,w=freqz(num12,den12); %根据参数求出频率响应plot(w*8000*0.5/pi,abs(h);axis(0 4000 0 1.5);legend(用butter设计);图4 IIR带通滤波器%=IIR高通=Ft=8000;Fp=4000;Fs=3500;wp1=tan(pi*Fp/Ft); %高通到低通滤波器参数转换ws1=tan(pi*Fs/Ft);wp=1;ws=wp1*wp/ws1;n13,wn13=cheb1ord(wp,ws,1,50,s); %求模拟的低通滤波器阶数和截止频率b13,a13=cheby1(n13,1,wn13,s); %求S域的频率响应的参数num,den=lp2hp(b13,a13,wn13); %将S域低通参数转为高通的num13,den13=bilinear(num,den,0.5); %利用双线性变换实现S域到Z域转换h,w=freqz(num13,den13);plot(w*21000*0.5/pi,abs(h);title(IIR高通滤波器);legend(用cheby1设计);图5 IIR 高通滤波器%*FIR低通滤波器*% 用窗函数设计低通滤波器的程序如下rp=1;rs=50;p=1-10.(-rp/20); %通带阻带波纹s=10.(-rs/20);fpts=wp ws;mag=1 0;dev=p s;n21,wn21,beta,ftype=kaiserord(fpts,mag,dev);%kaiserord求阶数截止频率b21=fir1(n21,wn21,Kaiser(n21+1,beta); %由fir1设计滤波器h,w=freqz(b21,1); %得到频率响应plot(w/pi,abs(h);title(FIR低通滤波器);图6 FIR低通滤波器%*FIR带通滤波器*wp1=tan(pi*Fp1/Ft); %带通到低通滤波器参数转换wp2=tan(pi*Fp2/Ft);ws1=tan(pi*Fs1/Ft);ws2=tan(pi*Fs2/Ft); w=wp1*wp2/ws2;bw=wp2-wp1;wp=1;ws=(wp*wp2-w.2)/(bw*w);n22,wn22=buttord(wp,ws,1,50,s); %求低通滤波器阶数和截止频率b22,a22=butter(n22,wn22,s); %求S域的频率响应的参数num2,den2=lp2bp(b22,a22,sqrt(wp1*wp2),bw); %将S域低通参数转为带通的num22,den22=bilinear(num2,den2,0.5);%双线性变换实现S域到Z域的转换h,w=freqz(num22,den22); %根据参数求出频率响应plot(w*8000*0.5/pi,abs(h);axis(0 4000 0 1.5);legend(用butter设计);图7 FIR带通滤波器%*%FIR高通滤波器*p=1-10.(-rp/20); %通带阻带波纹s=10.(-rs/20);fpts=ws wp;mag=0 1;dev=p s;n23,wn23,beta,ftype=kaiserord(fpts,mag,dev);b23=fir1(n23,wn23,high,Kaiser(n23+1,beta); %由fir1设计滤波器h,w=freqz(b23,1); %得到频率响应plot(w*12000*0.5/pi,abs(h);title(FIR高通滤波器);axis(3000 6000 0 1.2);图8 FIR高通滤波器3.5 用滤波器对加噪语音信号进行滤波用自己设计的各滤波器分别对加噪的语音信号进行滤波,在Matlab中,FIR滤波器利用函数fftfilt对信号进行滤波,IIR滤波器利用函数filter对信号进行滤波。函数fftfilt用的是重叠相加法实现线性卷积的计算。调用格式为:y=fftfilter(h,x,M)。其中,h是系统单位冲击响应向量;x是输入序列向量;y是系统的输出序列向量;M是有用户选择的输入序列的分段长度,缺省时,默认的输入向量的重长度M=512。函数filter的调用格式:yn=filter(B,A.xn),它是按照直线型结构实现对xn的滤波。其中xn是输入信号向量,yn输出信号向量。3.6 比较滤波前后语音信号的波形及频谱% =双线性变换法=%*低通滤波器*y,fs,nbits=wavread (speech);n = length (y) ; %求出语音信号的长度noise=0.01*randn(n,2); %随机函数产生噪声s=y+noise; %语音信号加入噪声S=fft(s); %傅里叶变换z11=filter(num11,den11,s);sound(z11);m11=fft(z11); %求滤波后的信号subplot(2,2,1);plot(abs(S),g);title(滤波前信号的频谱);grid;subplot(2,2,2);plot(abs(m11),r);title(滤波后信号的频谱);grid;subplot(2,2,3);plot(s);title(滤波前信号的波形);grid;subplot(2,2,4);plot(z11);title(滤波后的信号波形);图9 双线性法低通滤波%*带通滤波器*y,fs,nbits=wavread (speech);n = length (y) ; %求出语音信号的长度noise=0.01*randn(n,2); %随机函数产生噪声s=y+noise; %语音信号加入噪声S=fft(s); %傅里叶变换z12=filter(num12,den12,s);sound(z12);m12=fft(z12); %求滤波后的信号subplot(2,2,1);plot(abs(S),g);title(滤波前信号的频谱);subplot(2,2,2);plot(abs(m12),r);title(滤波后信号的频谱);subplot(2,2,3);plot(s);title(滤波前信号的波形);subplot(2,2,4);plot(z12);title(滤波后的信号波形);图10 双线性法带通滤波%*高通滤波器*y,fs,nbits=wavread (speech);n = length (y) ; %求出语音信号的长度noise=0.01*randn(n,2); %随机函数产生噪声s=y+noise; %语音信号加入噪声S=fft(s); %傅里叶变换z13=filter(num13,den13,s);sound(z13);m13=fft(z13); %求滤波后的信号subplot(2,2,1);plot(abs(S),g);title(滤波前信号的频谱);subplot(2,2,2);plot(abs(m13),r);title(滤波后信号的频谱);subplot(2,2,3);plot(s); title(滤波前信号的波形);subplot(2,2,4);plot(z13);title(滤波后的信号波形);图11 双线性法高通滤波%=窗函数法=%*低通滤波器*y,fs,nbits=wavread (speech);n = length (y) ; %求出语音信号的长度noise=0.01*randn(n,2); %随机函数产生噪声s=y+noise; %语音信号加入噪声 S=fft(s); %傅里叶变换z21=fftfilt(b21,s);sound(z21);m21=fft(z21); %求滤波后的信号subplot(2,2,1);plot(abs(S),g);title(滤波前信号的频谱);subplot(2,2,2);plot(abs(m21),r); title(滤波后信号的频谱);subplot(2,2,3);plot(s); title(滤波前信号的波形);subplot(2,2,4);plot(z21); title(滤波后的信号波形); 图12 窗函数法低通滤波%*带通滤波器*y,fs,nbits=wavread (speech);n = length (y) ; %求出语音信号的长度noise=0.01*randn(n,2); %随机函数产生噪声s=y+noise; %语音信号加入噪声 S=fft(s); %傅里叶变换z22=fftfilt(b22,s);sound(z22);m22=fft(z22); %求滤波后的信号subplot(2,2,1);plot(abs(S),g);title(滤波前信号的频谱);subplot(2,2,2);plot(abs(m22),r);title(滤波后信号的频谱);subplot(2,2,3);plot(s);title(滤波前信号的波形);subplot(2,2,4);plot(z22);title(滤波后的信号波形);图13 窗函数法带通滤波%*高通滤波器*y,fs,nbits=wavread (speech);n = length (y) ; %求出语音信号的长度noise=0.01*randn(n,2); %随机函数产生噪声s=y+noise; %语音信号加入噪声 S=fft(s); %傅里叶变换z23=fftfilt(b23,s);sound(z23);m23=fft(z23); %求滤波后的信号subplot(2,2,1);plot(abs(S),g);subplot(2,2,2);plot(abs(m23),r);title(滤波后信号的频谱);subplot(2,2,3);plot(s);title(滤波前信号的波形);subplot(2,2,4);plot(z23);title(滤波后的信号波形);图14 窗函数法高通滤波3.7回放语音信号 经过以上的加噪声处理后,可在Matlab中用函数sound对声音进行回放。其调用格式:sound(y,Fs),sound(y)和sound(y,Fs,bits)。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年安庆市人力资源服务有限公司招聘劳务外包员工1名笔试历年常考点试题专练附带答案详解试卷3套
- 2025年及未来5年市场数据中国嵌入式双灶行业市场调查研究及投资战略数据分析研究报告
- 副高转公务员考试试题及答案
- 光电组件生产线项目风险评估报告
- 2025年及未来5年市场数据中国过氧化二异丙苯行业全景评估及投资规划建议报告
- 德宏公务员考试大纲试题及答案
- 大邑公务员考试试题及答案
- 中心城区供排水系统提升工程风险评估报告
- 成武公务员考试试题及答案
- 集中供热热源厂建设项目风险评估报告
- 《工程勘察设计收费标准》(2002年修订本)
- 热力发电厂课程设计说明书
- 斑点叉尾鮰鱼种培育技术
- 南方科技大学自述信800字范文六篇
- “双减”背景下小学语文个性化作业设计策略
- 工厂化学品管理知识培训
- 期货基础知识(期货入门)
- 房产公司施工图设计标准
- GB/T 19685-2005预应力钢筒混凝土管
- 网络安全教育课件PPT(30张)
- 唐山市基层诊所基本公共卫生服务医疗机构卫生院社区卫生服务中心村卫生室地址信息
评论
0/150
提交评论