下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、技术要求基本原理2.1 FIR低通滤波器2.2图形用户界面GUI建立模型描述3.1单位冲激响应及其幅频响应模块目录3.2不同窗函数低通幅频响应对比模块3.3截止频率调整模块3.4界面的美化3.5功能模块图模块功能分析或源程序代码4.1单位冲激响应及其幅频响应及其代码4.2不同窗函数低通幅频响应对比模块4.3截止频率调整模块调试过程及结论5.1调试过程5.2设计结果思考题心得体会参考文献附录2.2.4.4,5.8.8.8.9.,1.4.1.516.18.武汉理工大学专业课程设计 4 (数字信号处理)课程设计说明书FIR低通滤波器的设计1技术要求用窗函数法设计线性相位FIR低通滤波器。要求通带截止
2、频率3= n /4单位脉冲响应 h(n)的长度N=23。绘出h(n)及其幅频响应特性曲线。2基本原理2.1 FIR低通滤波器数字滤波器是数字信号处理学科的重要组成部分,应用非常广泛。数字滤波器,通常 是一种算法,或是一种数字处理设备。它的功能是将一组输入的数字序列经过一定的运算 后变成为另一组输出的数字序列。它的主要功能是对数字信号进行处理,保留数字信号中 的有用成分,去除信号中的无用成分。数字滤波器是在模拟滤波器的基础上发展起来的,但它们之间存在着一些重要差别。与模拟滤波器相比,数字滤波器具有精度高、稳定性好、设计灵活等优点。一般情况下数 字滤波器是一个线性非移变系统。与模拟滤波器相同的是,
3、数字滤波器也有低通、高通、 带通、带阻之分。本次实验中,就是要设计数字低通滤波器。低通滤波器是容许低于截止频率的信号通过,但高于截止频率的信号不能通过的滤 波器。从结构上,数字滤波器可以分为递归型(IIR )数字滤波器和非递归型(FIR)数字滤 波器。本次实验要求利用FIR设计线性相位的低通滤波器。FIR最大的特点之一就是能够 做成严格的线性相位关系。所为线性相位,就是指滤波器对不同频率的正弦波产生的相位 延迟与正弦波的频率呈线性关系。因而,在通过该滤波器后在滤波器通带内的所有信号频 率成分,除了由相频特性决定的延迟外,可以全部保留。窗函数法设计低通滤波器,窗函数法也称为傅里叶级数法。从单位取
4、样响应的观点来看,就是使设计的滤波器的h( n)逼近理想的滤波器单位取样相应hd( n)。13设计思想:先给定理想filter的频响Hd(ejw),设计一个FIR的filter的频响为H(ejw ),使H(ejw ) 逼近 Hd(ejw)。设计过程:先用傅氏反变换求出理想filter的单位抽样响应hd(n),然后加时间窗w(n)对hd(n)截断,以求得FIR filter的单位抽样响应h(n)。由此来看,窗函数的形状及长度的选择就尤为关键。由于长度已给定,利用矩形窗、三角窗、汉明窗、汉宁窗、布莱克曼窗和凯泽窗几种窗函数对窗函数形状不同进行对比。2.2图形用户界面GUI图形用户界面(GUI)是指
5、采用图形方式显示的计算机操作用户界面。与早期计算机使用的命令界面相比,图形界面对于用户来说在视觉上更易于接受。本次课程设计就是应用matlab的GUI制作简单的用户界面,并且基于该界面仿真常见的几种信号的模型。界面的引入,使用户的操作更加便捷,也使仿真的结果呈现起来较为简便。GUI本次实验中,由于对比窗函数形状对低通滤波器幅频响应的影响,总共会有8个图形的显示。运行后,由于图形窗口较多,观察比较不方便,所以决定用图形用户界面GUI来实现图形的显示。3建立模型描述3.1单位冲激响应及其幅频响应模块根据实验指导书要求,不仅要求画出最终低通滤波器的幅频响应,还要画出单位冲激响应h(n)的图形,还有单
6、位冲激响应在频域的图形。对单位冲激序列做离散傅里叶变换,得到其幅频响应。其中,离散傅里叶变换要编写相关函数m文件。理想单位冲激响应的幅频响应的曲线形状为抽样信号的形状。3.2不同窗函数低通幅频响应对比模块在加窗处理的环节,窗函数长度已经确定,选择何种类型的窗函数就是影响最终低通 滤波器幅频响应的性能的关键。本实验中,未规定窗函数的类型,所以在程序中,我决定 将不同用窗函数截断后的低通滤波器的形状比较作为一个拓展功能。Matlab中提供的窗函数有:(1)矩形窗boxcar( n)(2)三角窗tnang(n)(3)汉明窗ham ming(n)(4)汉宁窗hanning(n)(5)布莱克曼窗blac
7、kma n(n)(6)凯泽窗kaiser( n)各窗函数参数,旁瓣峰值幅度,过渡带宽,阻带最小衰减如图一。窗函数旁瓣峰值过渡阻带虽小幅度/dB带宽哀减/dB矩形窗-13E V-12汉宁窗-31Sjt /;V-44哈明窗-41AVr .V-53不莱克曼窗-5712tt 一 V-74三角形窗-25加V-25凯寃窗(0-57jW-80=7. 865)图1窗函数参数利用窗函数设计低通滤波器,只需利用函数fir1(N,wn,窗函数(N+1),就可求得滤波器的幅频响应和相频响应。汉明窗的应用方式为用fir1(N,wn)函数得到低通滤波器,用w,t=freqz(b,1,512), abs(w)求得幅频响应。
8、矩形窗的应用方式为用fir1(N,wn ,boxcar(n)函数得到低通滤波器,w,t=freqz(b,1,512),abs(w )求得幅频响应。三角窗的应用方式为用fir1(N,wn ,triang(n)函数得到低通滤波器,w,t=freqz(b,1,512),abs(w )求得幅频响应。汉宁窗的应用为用fir1(N,wn,hanning(n)函数得到低通滤波器,w,t= freqz (b,1,512),abs(w )求得幅频响应。布莱克曼窗的方式为fir1(N,wn,blackman(n)函数得到低通滤波器w,t=freqz(b,1,512),abs(w )求得幅频响应。凯泽窗应用方式为用
9、fir1(N,wnkaiser(n)函数得到低通滤波器,用w,t=freqz(b,1,512),abs(w )求得幅频响应。3.3截止频率调整模块本次试验中,规定截止频率为0.25 n为了能直观的显示不同的截止频率,低通滤波器的形状会有什么不同,我在 GUI上添加了一个可编辑文本框,把默认数值设定为0.25,同时将程序中对应的截止频率从一个常数变为从文本框中取得的数。3.4界面的美化为了制作出友好美观的界面,必须对波形的显示区域、幅度、频率等进行调整,改变曲线的粗细程度,对各个控件及整体界面进行颜色的设置,并利用其工具栏将各个控件对齐。3.5功能模块图功能模块图如图2。图2功能模块图4模块功能
10、分析或源程序代码4.1单位冲激响应及其幅频响应及其代码单位冲激响应的绘制思路比较简单,就是将一条直线用stem函数绘制出来,其图形必须为23个点。其代码如下:n=0:22;x=n./n;stem( n,x); title('h( n)');axis(0,25,0,1.3);单位冲激响应的幅频响应要用到专门的函数 m文件。该函数文件可以在主程序中调用多次,节省篇幅。函数 m文件代码如下: fun cti on xk=dft(x n,N) n=0:1:N-1;k=n;WN=ex p(-j*2* pi/N);nk=n'*k;WNn k=WN.A nk;xk=x n* WNnk
11、;4.2不同窗函数低通幅频响应对比模块窗函数不同,会对设计出的低通滤波器的性能不同。应尽量选取旁瓣小主瓣窄的窗函数。为了细致观察窗函数不同对设计的低通滤波器的不同影响,本次试验中设计了不同窗函数的低通滤波器的比较环节。各个窗函数设计低通滤波器的思路是相似的,只是其中的窗函数是不同的。用矩形窗设计低通滤波器的代码:D=str2 nu m(get(ha ndles.edit1,'stn ng');wn=D* pi;N=23;b=fir1(N,w n,boxcar(N+1);w,t=freqz(b,1,512);QX=plot(t,abs(w);set(QX,'Li neWi
12、dth',2.0);title('矩形窗');用汉明窗设计低通滤波器的代码:D=str2 nu m(get(ha ndles.edit1,'stn ng');wn=D* pi;N=23;b=fir1(N,w n);w,t=freqz(b,1,512);QX=plot(t,abs(w);set(QX,'L in eWidth',2.0) titleC汉明窗');用三角窗设计低通滤波器的代码:D=str2 nu m(get(ha ndles.edit1,'stn ng');wn=D* pi;N=23;b=fir1(N,
13、w n, tria ng(N+1);w,t=freqz(b,1,512);axis(0,3.5,0,1.5);QX=plot(t,abs(w);set(QX,'L in eWidth',2.0) axis(0,3.5,0,1.4);titleC三角窗');用汉宁窗设计低通滤波器的代码:D=str2 nu m(get(ha ndles.edit1,'stn ng');wn=D* pi;N=23;b=fir1(N,w n,ha nnin g(N+1);w,t=freqz(b,1,512);QX=plot(t,abs(w);set(QX,'L in e
14、Width',2.0) titleC汉宁窗');用布莱克曼窗设计低通滤波器的代码:D=str2 nu m(get(ha ndles.edit1,'stn ng');wn=D* pi;N=23;b=fir1(N,w n,blackma n(N+1);w,t=freqz(b,1,512);QX=plot(t,abs(w);set(QX,'L in eWidth',2.0) title('布莱克曼窗');用凯泽窗设计低通滤波器的代码:D=str2 nu m(get(ha ndles.edit1,'stn ng');wn=
15、D* pi;N=23;b=fir1(N,w n,kaiser(N+1);w,t=freqz(b,1,512);QX=plot(t,abs(w);set(QX,'L in eWidth',2.0) titleC凯泽窗');4.3截止频率调整模块为了研究低通滤波器的截止频率对滤波器的影响,本次实验设计了调整截止频率的模D。但块,用以直观的显示不同的截止频率对低通滤波器的影响。为此,在控件中添加了一个可 编辑文本框,用以输入要调整的截止频率。并且将从可编辑文本框获取的数值赋予 是要注意的是截止频率是个有实际意义的常数,不能够随意指定其数值。所以,在文本框 内获取的是n的倍数。
16、wc=0.25* n也变为wc=D*n。另外,从文本框中获取的的值默认为字符型,但计算时用到的应为数值型,所以要进 行类型的转换。其代码如下:D=str2 nu m(get(ha ndles.edit1,'stn ng');5调试过程及结论5.1调试过程在绘制h(n)时,本来打算绘制一条普通的直线,并用stem函数画出,但是直线中不含自变量,因此将其从y=1改为y=n./n。在绘制h(n)的幅频响应时,我误认为dpt为matlab自带的函数,所以运行时报错,dpt 未定义。因此查找资料,发现该函数为自己设定的函数文件,并且建立了该文件。在绘制低通滤波器时,应用了 freqz(b
17、,1,512)函数,在m文件中运行正确。但在GUI中出现问题,后来发现,GUI中出现sub plot函数后就会不能正常绘图。而freqz(b,1,512)函数,本身自带了同时绘制相频和幅频的命令,因此会出现错误。因此,我利用该函数求出幅频特性,但是利用plot绘制幅频特性。在调整截止频率的模块,运行时报错,原因是忘记转换从文本框获取的数据类型。从文本框获取了字符型的数据,应当转换成字符型才能参与运算。5.2设计结果F面将本次设计的结果按功能展示:chuanghanhuFIR低通滤波器的设计0 90 B0 70 60 5040.100 5925OS0 204截止频率*pi图1总体设计h(nj J
18、 11 IIIh(rO至月h(n)图2单位冲激响应hg)的频率响应图3单位冲激幅频响应武汉理工大学专业课程设计 4 (数字信号处理)课程设计说明书图5用汉明窗设计低通滤波器15矩形窗图4用矩形窗设计低通滤波器汉明窗武汉理工大学专业课程设计 4 (数字信号处理)课程设计说明书图7用汉宁窗设计低通滤波器17三角窗0 2lh(n)K璧"密0.25pi00.511.522.633.5截止频率1.20G0 60 4图6用二角窗设计低通滤波器汉宁®1 41.210 3101.60 4101.21.522 500.5截止频率呦)伽盘记三莹宝 II B 1 B 1 B 17 i武汉理工大学
19、专业课程设计 4 (数字信号处理)课程设计说明书布菜克曼窗图9用凯泽窗设计低通滤波器18图8用布莱克曼窗设计低通滤波器凯泽窗汶宁空武汉理工大学专业课程设计 4 (数字信号处理)课程设计说明书h(n玄迥图10改变截止频率6思考题线性相位满足的条件?线性相位FIR滤波器的特性及其应用领域?答:线性相位要求的条件是h(n)必须为实序列,且满足h(n)=±h(N-n-1)。例如本设 计中使用的单位冲激响应就符合实序列,且N=23,为奇数,h( n)=h(23-n-1)。在此条件已满足的前提下共分四种情况。第一种是h(n)=h(N-n-1),N为奇数;第二种是 h(n)=h(N-n-1),N
20、为偶数;第三种是 h(n)=-h(N-n-1),N 为奇数;第四种 h(n)=-h(N-n-1),N为偶数;由此易知本次设计所要求的为第一种情况。(2)线性相位FIR滤波器的特性为:通过滤波器的信号中不同频率的正弦波产生的相位 延迟与正弦波的频率呈线性关系。因而,在通过该滤波器后在滤波器通带内的所有信号频 率成分,除了由相频特性决定的延迟外,可以全部保留。正因为线性相位能够保留所有频率成分,且产生的相位延迟与频率呈线性关系,所以 相位失真的产生是可以控制的。非线性相位滤波器由于产生的相位失真与频率不呈线性关 系所以容易造成信号的色散。其应用领域为:语音信号、图像信号、视频信号要求线性相位,要求
21、信道具有线性相位特性,因此该类信号在滤波、除噪时要用到FIR线性相位滤波器。7心得体会本次课程设计要求在 matlab软件中用窗函数法设计FIR线性相位低通滤波器。线性相位在实际之中应用的十分广泛。例如图像、语音信号要求信道具有线性相位的特性。滤波器分为低通型、高通型、带通型和带阻型。而低通滤波器是最基本的滤波器。在本次设计中,基本的功能是比较容易实现的,因此增添了一些附加的功能。指导书中规定了 h(n)的长度及值,正好符合线性相位的第一类的第一种情况,所以加窗后的低通滤波器理论上具有线性相位。当然加窗后处理的低通滤波器由于阶段后出现的误差,其相位不一定为十分严格的直线,但在相当宽的一段频率中
22、是符合严格的线性相位的。在规定了 h(n)及其长度后,窗函数的类型就成为影响低通滤波器的性能的主要因素了。因此本次设计最重要的一个附加功能就是加不同的窗函数后,所对应的低通滤波器的形状的对比。通过对比发现,加不同的窗函数后,低通滤波器的衰减到0.9和衰减到0.1对应的频率的不同,和尾巴衰减的速率的不同。 Matlab中自带有6种窗函数,因此制作了六种窗函数的对比。由于用脚本 m文件画图,运行后生成六个图形的文件,不方便比较,于是制作了 GUI界面用于显示绘制出的图形。GUI界面的制作过程比较繁琐,并且sub plot函数在坐标轴中绘图会出错所以,应用freqz函数绘图,不能够同时绘制相位图。由
23、于指导书要求的只有幅频特性,因此将 函数与abs函数结合,绘制出低通滤波器的幅频响应。freqz通过本次设计,我了解了学习 matlab这个强大的软件的方法,就是多多实际,注重自学。Matlab中的函数十分便捷,只需要用fir1函数就可以得到相应的低通滤波器。同时,只需要freqz函数就可以求出低通滤波器的幅频特性和相频特性。8参考文献1刘泉.数字信号处理原理与实现.北京:电子工业出版社,20092张志涌.精通matlab .北京:北京航空航天大学出版社,201126附录源程序fun cti on varargout = chua ngha nshu(vararg in) % CHUANGHA
24、NSHU M-file for chua ngha nshu.figCHUANGHANSHU, by itself, creates a new CHUANGHANSHU or raises theexisti ngsin glet on*H = CHUANGHANSHU returns the han die to a new CHUANGHANSHU or thehan die tothe existi ng sin glet on*CHUANGHANSHU('CALLBACK',hObject,eve ntData,ha ndles,.) calls the localf
25、unction named CALLBACK in CHUANGHANSHU.M with the given inputargume nts.CHUANGHANSHUC Prop erty','Value',.) creates a new CHUANGHANSHU or raisestheexist ing sin glet on*.Start ing from the left, property value p airs are app lied to the GUI before chua ngha nshu_O penin gFc n gets called
26、.A n un recog ni zed prop erty n ame or in valid value makes prop erty app licati on stop. All inputs are passed to chuanghanshu_OpeningFcn via varargin.*See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one in sta nee to run (si ngleto n)".% See also: GUIDE, GUIDATA, GUIH
27、ANDLES% Edit the above text to modify the res ponse to help chua ngha nshu% Last Modified by GUIDE v2.5 27-J un-2013 10:14:02% Begi n ini tialization code - DO NOT EDIT gui_S in glet on = 1;mfile name, .gui_State = struct('gui_Name','gui_S in glet on', gui_S in glet on, 'gui_O pe
28、nin gFc n', chua ngha nshu_O penin gFc n,'gui_Out pu tFc n',chua ngha nshu_Out pu tFc n,'gui_LayoutFc n',.'gui_Callback',);if n argin && ischar(varargi n1)gui_State.gui_Callback = str2fu nc(varargi n1);end if n argoutvarargout1: nargout = gui_mai nfcn( gui_State,
29、vararg in :);elsegui_mai nfcn( gui_State, vararg in :);end % End in itializati on code - DO NOT EDIT% - Executes just before chua ngha nshu is made visible.fun cti on chua ngha nshu_O penin gFc n( hObject, eve ntdata, han dles, varargi n) % This fun cti on has no out put args, see Outpu tFc n.% hObj
30、ect han dle to figure % eve ntdata reserved - to be defi ned in a future vers ion of MATLAB% han dlesstructure with han dles and user data (see GUIDATA)% varargincomma nd line argume nts to chua ngha nshu (seeARARGIN)% Choose default comma nd line out put for chua ngha nshu han dles.out put = hObjec
31、t;% Up date han dles structure guidata(hObject, han dles);% UIWAIT makes chua ngha nshu wait for user res ponse (see UIRESUME) % uiwait(ha ndles.figure1);% - Out puts from this fun cti on are returned to the comma nd line.fun cti on varargout = chua ngha nshu_Out pu tFc n( hObject, eve ntdata, han d
32、les)% varargoutcell array for returni ng out put args (see ARARGOUT);% hObjecthan dle to figure% eve ntdatareserved - to be defi ned in a future vers ion of MATLAB% han dlesstructure with han dles and user data (see GUIDATA)% Get default comma nd line out put from han dles structurevarargout1 = han
33、dles.out put;% - Executes on butt on p ress in p ushbutt on1.fun cti on p ushbutt on 1_Callback(hObject, eve ntdata, han dles)% hObjecthan dle to pushbutto n1 (see GCBO)% eve ntdatareserved - to be defi ned in a future vers ion of MATLAB% han dlesstructure with han dles and user data (see GUIDATA)D=
34、str2 nu m(get(ha ndles.edit1,'stn ng');wn=D* pi;N=23;b=fir1(N,w n,boxcar(N+1);w,t=freqz(b,1,512);QX=plot(t,abs(w);set(QX,'Li neWidth',2.0);title('矩形窗');% - Executes on butt on p ress in p ushbutt on2.fun cti on p ushbutt on 2_Callback(hObject, eve ntdata, han dles) % hObject
35、han dle to pushbutto n2 (see GCBO) % eve ntdata reserved - to be defi ned in a future vers ion of MATLAB% han dlesstructure with han dles and user data (see GUIDATA)D=str2 nu m(get(ha ndles.edit1,'stri ng');wn=D* pi;N=23;b=fir1(N,w n);w,t=freqz(b,1,512);QX=plot(t,abs(w);set(QX,'L in eWid
36、th',2.0) titleC汉明窗');% - Executes on butt on p ress in p ushbutt on3.fun cti on p ushbutt on 3_Callback(hObject, eve ntdata, han dles) % hObject han dle to pushbutto n3 (see GCBO) % eve ntdata reserved - to be defi ned in a future vers ion of MATLAB% han dlesstructure with han dles and user
37、data (see GUIDATA)D=str2 nu m(get(ha ndles.edit1,'stri ng');wn=D* pi;N=23;b=fir1(N,w n, tria ng(N+1);w,t=freqz(b,1,512);axis(0,3.5,0,1.5);QX=plot(t,abs(w);set(QX,'L in eWidth',2.0) axis(0,3.5,0,1.4);titleC三角窗');% - Executes on butt on p ress in p ushbutt on4.fun cti on p ushbutt
38、on4 _Callback(hObject, eve ntdata, han dles) % hObject han dle to pushbutto n4 (see GCBO) % eve ntdata reserved - to be defi ned in a future vers ion of MATLAB% han dlesstructure with han dles and user data (see GUIDATA)D=str2 nu m(get(ha ndles.edit1,'stri ng');wn=D* pi;N=23;b=fir1(N,w n,ha
39、nnin g(N+1);w,t=freqz(b,1,512);QX=plot(t,abs(w);set(QX,'L in eWidth',2.0) titleC汉宁窗');% - Executes on butt on p ress in p ushbutt on5.fun cti on p ushbutt on 5_Callback(hObject, eve ntdata, han dles) % hObject han dle to pushbutto n5 (see GCBO) % eve ntdata reserved - to be defi ned in a
40、 future vers ion of MATLAB% han dlesstructure with han dles and user data (see GUIDATA)D=str2 nu m(get(ha ndles.edit1,'stri ng');wn=D* pi;N=23;b=fir1(N,w n,blackma n(N+1);w,t=freqz(b,1,512);QX=plot(t,abs(w);set(QX,'L in eWidth',2.0) titleC布莱克曼窗');% - Executes on butt on p ress in
41、 p ushbutt on6.fun cti on p ushbutt on 6_Callback(hObject, eve ntdata, han dles) % hObject han dle to pushbutto n6 (see GCBO) % eve ntdata reserved - to be defi ned in a future vers ion of MATLAB% han dlesstructure with han dles and user data (see GUIDATA)D=str2 nu m(get(ha ndles.edit1,'stri ng&
42、#39;);wn=D* pi;N=23;b=fir1(N,w n,kaiser(N+1);w,t=freqz(b,1,512);QX=plot(t,abs(w);set(QX,'L in eWidth',2.0) titleC凯泽窗');% - Executes duri ng object creati on, after sett ing all prop erties.fun cti on axes1_CreateFc n( hObject, eve ntdata, han dles)% hObjecthan dle to axes1 (see GCBO) % e
43、ve ntdata reserved - to be defi ned in a future vers ion of MATLAB% han dles empty - han dles not created un til after all CreateFc ns called% Hint: p lace code in Openin gFc n to popu late axesi fun cti on p ushbutt on 13_Callback(hObject, eve ntdata, han dies) % hObject han dle to pushbutto n13 (see GCBO) % eve ntdata reserved - to be defi ned in a future vers ion of MATLAB% han dlesstructure with han dles and user data (see GUIDATA) n=0:22;x=n./n;stem( n,x); ti
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度美容师正式聘用合同书
- 2025年度美甲店门面转让及美容美发行业人才培养合同
- 2025年度残疾人事业发展赠与合同
- 2025年度钢结构工程安装与建筑安全监管合同
- 二零二五年度耕地租赁合同及农业保险配套服务协议
- 二零二五年度门诊聘用合同(心血管专业)
- 2025年度员工解除劳动合同后社会保险关系转移协议
- 2025年度货车运输与车辆维护保养合同
- 2025年度汽车售后服务连锁加盟合同规范
- 二零二五版牧业饲料添加剂研发与应用合同4篇
- 慈溪高一期末数学试卷
- 天津市武清区2024-2025学年八年级(上)期末物理试卷(含解析)
- 《徐霞客传正版》课件
- 江西硅博化工有限公司年产5000吨硅树脂项目环境影响评价
- 高端民用航空复材智能制造交付中心项目环评资料环境影响
- 量子医学成像学行业研究报告
- DB22T 3268-2021 粮食收储企业安全生产标准化评定规范
- 办事居间协议合同范例
- 正念减压疗法详解课件
- GB 30254-2024高压三相笼型异步电动机能效限定值及能效等级
- 重大事故隐患判定标准与相关事故案例培训课件
评论
0/150
提交评论