基于matlab的FIR和IIR濾波器詳解_第1頁
基于matlab的FIR和IIR濾波器詳解_第2頁
基于matlab的FIR和IIR濾波器詳解_第3頁
基于matlab的FIR和IIR濾波器詳解_第4頁
基于matlab的FIR和IIR濾波器詳解_第5頁
已閱讀5頁,還剩23頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1 引言 11.1 MATLAB 的介紹2.1.2 CCS的介紹2.2 設計要求 4.3 FIR 濾波器設計 5.3.1 FIR濾波器的Matlab設計5.3.1.1 FIR濾波器參數的設計 5.3.1.2 檢驗方波的Matlab 設計 6.3.1.3 正弦疊加信號的Matlab 設計 7.3.2 FIR濾波器的CCS設計8.3.2.1 FIR濾波器的CCS設計程序103.2.2 CCS波形仿真圖 124 IIR 濾波器設計1.5.4.1 IIR 濾波器的Matlab 設計 1.54.1.1 IIR 濾波器參數的設計1.54.1.2 檢驗方波的Matlab 設計 1.64.1.3 正弦疊加信號

2、的Matlab 設計 1.74.2 IIR濾波器的CCS設計194.2.1 IIR濾波器的CCS程序設計1.94.2.2 CCS波形仿真圖 23結束語 2.5.參考文獻2.6.課程設計說明書1引言數字信號處理(Digital Signal Processing),或者說對信號的數字處理(包括 對信號進行采集、變換、濾波、估值、增強、壓縮、識別等),是20世紀60年 代前后發展起來的并廣泛應用于多領域的新興學科。當今,數字信號處理技術正飛速發展,它不但自成一門學科,更是以不同 形式影響和滲透到其他學科;它與國民經濟息息相關,與國防建設緊密相連;它 影響或改變著我們的生產、生活方式,因此受到人們普

3、遍的關注。數字化、智能化和網絡化是當代信息技術發展的大趨勢,而數字化是智 能化和網絡化的基礎,實際生活中遇到的信號多種多樣, 例如廣播信號、電視信 號、雷達信號、通信信號、導航信號等等。上述這些信號大部分是模擬信號,也 有小部分是數字信號。模擬信號是自變量的連續函數,自變量可以是一維的,也 可以是二維或多維的。大多數情況下一維模擬信號的自變量是時間,經過時間上的離散化(采樣)和幅度上的離散化(量化),這類模擬信號便成為一維數字信 號。因此,數字信號實際上是數字序列表示的信號,語音信號經采樣和量化后, 得到的數字信號是一個一維離散時間序列; 而圖像信號的經采樣和量化后,得到 的是數字信號是一個二

4、維離散空間序列。數字濾波技術是數字信號分析、處理技術的重要分支。無論是信號的獲取、 傳輸,還是信號的處理和交換都離不開濾波技術,它對信號安全可靠和有效靈活地傳輸時至關重要的。在所有的電子系統中,使用最多技術最復雜的要算數字濾 波器了。數字濾波器的優劣直接決定產品的優劣。271.1 MATLAB的介紹MATLAB是由美國mathworks公司發布的主要面對科學計算、可視化以及 交互式程序設計的高科技計算環境。它將數值分析、矩陣計算、科學數據可視化 以及非線性動態系統的建模和仿真等諸多強大功能集成在一個易于使用的視窗 環境中,為科學研究、工程設計以及必須進行有效數值計算的眾多科學領域提供 了 一種

5、全面的解決方案,代表了當今國際科學計算軟件的先進水平。主要應用于工程計算、信號處理與通訊、圖像處理、信號檢測、金融建模設計與分析、控制 系統設計以及計算生物學等眾多應用領域。MATLAB是矩陣實驗室(Matrix Laboratory)之意。除具備卓越的數值計 算能力外,它還提供了專業水平的符號計算,文字處理,可視化建模仿真和實時 控制等功能。MATLAB的基本數據單位是矩陣,它的指令表達式與數學,工程中常用的形 式十分相似,故用MATLAB來解算問題要比用C,FORTRAN等語言完相同的事情 簡捷得多。當前流行的MATLAB 5.3/Simulink 3.0包括擁有數百個內部函數的主包和三

6、十幾種工具包(Toolbox)。工具包又可以分為功能性工具包和學科工具包。功能工具包用來擴充MATLAB的符號計算,可視化建模仿真,文字處理及實時控制等功 能。學科工具包是專業性比較強的工具包,控制工具包,信號處理工具包,通信工具 包等都屬于此類。除內部函數外,所有MATLAB主包文件和各種工具包都是可讀 可修改的文件,用戶通過對源程序的修改或加入自己編寫程序構造新的專用工具 包。1.2 CCS的介紹CCS軟件簡介CCS (Code Composer Studio代碼調試器是一種合成開發環 境。它是一種針對標準TMS320調試器接口的交互式方法。CCS目前有CCS1.1, CCS1.2和CCS

7、2.0等三個不同時期的版本,又有 CC2000 (針又t C2XX ), CCS5000 (針對C54XX )和CCS6000 (例71 C6X )三個不同的型號。我們所使用 的是CCS50002.2的版本。CCS5000具有以下特性:(1) TI編譯器的完全集成的環境:CCS5000目標管理系統,內建編輯器,所有的調試和分析能力集成在一個 Windows環境中。(2)對C和DSP匯編文件的目標管理:目標編輯器保持對所有文件及相關內容的跟蹤。它只對最近一次編譯中改變 過的文件重新編譯,以節省編譯時間。(3)高集成的編輯器調整C和DSP匯編代碼:CCS5000的內建編輯器支持C和匯編文件的動態語

8、法加亮顯示。使用戶能 很容易地閱讀代碼和當場發現語法錯誤。(4)編輯和調試時的后臺編輯:用戶在使用編譯器和匯編器時沒有必要退出系統到DOS環境中,因為CCS5000會自動將這些工具裝載在它的環境中。在其窗口中,錯誤會加亮顯示 只要雙擊錯誤就可以直接到達出錯處。在含有浮點并行調試管理器(PDM)的原有的 MS窗口下支持多處理器CCS5000在 Windows95和 Windows-me中支持多處理。PDM允許將命令傳播給 所有的或所選擇的處理器。(5)在任何算法點觀察信號的圖形窗口探針:圖形顯示窗口使用戶能夠觀察時域或頻域內的信號。對于頻域圖,FFT在主機內 執行,這樣就可以觀察所感興趣的部分而

9、無須改變它的 DSP代碼。圖顯示也可 以同探針連接,當前顯示窗口被更新時,探針被指定,這樣當代碼執行到達該點 時,就可以迅速地觀察到信號。(6)文件探針在算法處通過文件提取或加入信號或數據:CCS5000允許用戶從PC機讀或寫信號流。而不是實時的讀信號,這就可以 用已知的例子來仿真算法。(7)圖形分析:CCS5000的圖形分析能力在其環境中是集成的。(8)在后臺(系統命令)執行用戶的DOS程序:用戶可以執行 CCS5000中的DOS程序,并將其輸出以流水方式送到CCS5000的輸出窗口。且允許用戶將應用程序集成到CCS5000O(9)技術狀態觀察窗口 :CCS5000的可視窗口允許用戶進入 C

10、表達式及相關變量。結構、數組、指 針都能很簡單地遞歸擴展和減少,以便進入復雜結構。(10)代數分解窗口:允許用戶選擇查看寫成代數表達式的 C格式,提高可讀性。(11)目標DSP上的幫助:DSP結構和寄存器上的在線幫助可以使用戶不必查看技術手冊。(12)用戶擴展:擴展語言(GEL)使得用戶可以將自己的菜單項加到 CCS5000的菜單欄中。2設計要求本次課設,主要針對DSP芯片進行程序設計,要求采用會變語言編寫程序。通過此次課程設計,熟悉 DSP芯片的硬件結構,加深對 DSP芯片的認識; 掌握對DSP芯片編程方法,掌握間接尋址方法的使用方法,重點掌握算法的設 計。要求采用匯編語言針對DSP芯片設計

11、低通濾波器:1給出低通濾波器技術指標,在 Matlab里先設計符合要求的低通濾波器, 并得到濾波器參數,并得到該濾波器的幅頻特性和相頻特性;2 FIR低通濾波器設計,給出設計流程圖,在 CCS軟件環境下編寫程序;3分別用方波和正弦波驗證FIR低通濾波器的設計;4 IIR低通濾波器設計,給出程序流程圖,在 CCS軟件環境下編寫程序;5分別用方波和正弦波驗證IIR低通濾波器的設計;6與Matlab中設計的濾波器,進行對比研究。3 FIR濾波器設計3.1 FIR濾波器的Matlab設計FIR結構中的延遲Z-1在程序中實現是數據在存儲器中的滑動,這對一個L 階的FIR數字濾波器來說,就是要求在存儲器中

12、開辟一個L個樣本并進行乘累加運算。這在DSP中可以用兩種方法來實現該緩沖區。對于線性緩沖區來說, 每當DSP讀入一個樣本后都將此樣本向后移動,讀完最后一個樣本后,最前面 的樣本(最老的)被推出緩沖區,并輸入最新的樣本至緩沖區頂部。線性緩沖區 的存儲器延時可以由具有數據移動的DMOV指令來實現,它需要將緩沖區置于內部DARAM塊中;對于循環緩沖區,每當輸入新樣本時,以新樣本改寫區中 最老的樣本,而緩沖區中的其他樣本不需要其他樣本移動。循環緩沖區可采用循環尋址技術來實現,它不需要必須定位在DARAM 塊中,但需要適當的緩沖區對準以滿足循環尋址的要求。本次課設用的是循環尋址,下面主要介紹一下循環 尋

13、址的方法。循環緩沖實現延時的特點是:(1)實現N階FIR數字濾波器時,需要在數據存儲器中開辟一個稱為滑窗的 N個單元的緩沖區,滑窗中存放最新的 N個樣本。(2)當每次輸入新樣本時以新的樣本改寫滑窗中最老的樣本,而滑窗其他的 數據不需要移動。(3)利用片內BK (循環緩沖區長度)寄存器對滑窗進行間接尋址,循環緩沖區地址首 位相鄰。3.1.1 FIR濾波器參數的設計FIR濾波器的參數用Matlab來設計,其程序為:>> N=15;%濾波器的階數Wn=0.1%濾波器的截止頻率b=fir1(N,Wn)freqz(b,512,1000) %濾波器的幅頻特性和相頻特性 Wn =0.1000 b

14、 =Columns 1 through 90.00340.00740.01880.03950.06770.09840.12480.14000.1400Columns 10 through 160.12480.09840.06770.03950.01880.0074 0.0034濾波器的幅頻特性和相頻特性如圖3-1和圖3-2所示00.10.20 30 40.50.60.70.80.91Mormalized Frequency (xrad/sHmg)501mp) apn-Ebs-20000.10.20,3040 50 60.70 80.9Normalized Frequency (xx rad/s

15、ample)圖3-1濾波器的幅頻 特性圖600-60圖3-2濾波器的相頻特性圖將1000個點的復頻響應值均勻分布在 0-2冗上,便得到所設計的FIR低通 濾波器的幅值特性如上圖。3.1.2 檢驗方波的Matlab設計檢驗方波的Matlab程序為:figure(4)x=0:2*pi/1024:2*pi;x1=2*square(1*pi*10*x);x2=conv(x1,b);subplot(2,1,1);plot(x1);axis(0 50*pi -3 3);grid on;subplot(2,1,2);plot(x2);axis(0 50*pi -3 3);grid on;輸出方波如3-4所示

16、圖3-4方波信號圖由圖可知,經低通濾波后方波信號變為等峰峰值為和周期的正弦信號3.1.3 正弦疊加信號的Matlab設計正弦疊加信號的Matlab程序為:>> figure(3)x=0:2*pi/1024:2*pi;y1=sin(1*x*2*pi+pi/6);y2=sin(100*x*2*pi);y3=y1+y2;y4=conv(y3,b);subplot(4,1,1);plot(y1);subplot(4,1,2);plot(y2);subplot(4,1,3);plot(y3);subplot(4,1,4);plot(y4);輸出正弦疊加信號的波形如圖3-5所示20020040

17、060080010001200圖3-5正弦疊加信號上圖由上向下,第一個圖是低頻正弦波,第二個圖是高頻正弦波,第三個圖 是低頻與高頻的疊加,最后一個是疊加后的正弦波經低通濾波器后出現的波形, 基本與低頻正弦信號相同。3.2 FIR濾波器的CC般計根據Matlab中設計的濾波器參數,也就是我么需要的H(n),將它們用Q15的定標方式寫進匯編程序。程序編寫完成后,加載 Matlab中生成的*.dat文件, 就可以得到濾波之后的圖像。這里同樣以方波和正弦波進行檢驗。其中生成方波的*dat文件程序如下x=0:2*pi/1024:2*pi;x1=2*square(2*pi*x);plot(x1);axis

18、(0,1000,-4,4);xlout=x1/max(x1);x1t0_ccs=round(32767*xlout);fid=fopen('square.dat','w');fprintf(fid,'1651 1 0210 0 c8n');fprintf(fid,'%dn',x1t0_ccs);fclose(fid)生成正弦波的*dat文件程序如下figure(3)x=0:2*pi/1024:2*pi;y1=sin(1*x*2*pi+pi/6);y2=sin(100*x*2*pi);y3=y1+y2;piot(y3);xout=y

19、3/max(y3);% 歸一化xto_ccs=round(32767*xout) fid=fopen('sin.dat','w');%打開文件fprintf(fid,'1651 1 0210 0 c8n'); % 輸出文件頭 fprintf(fid,'%dn',xto_ccs); % 輸出 fclose(fid);3.2.1 FIR 濾波器的CCSS計程序FIR濾波器的設計流程圖如下圖3-6 FIR設計流圖根據上圖編寫程序主程序fir.asm如下.title "fir.asm".mmregs.global _c

20、_int00Hn: .usect "Hn" , 16BUF: .usect "BUF", 16Xn:.usect "Xn", 200nopYn:.usect "Yn", 240.dataTABLE:.word 34*32768/10000,74*32768/10000,188*32768/10000395*32768/10000.word 677*32768/10000, 1400*32768/10000.word1400*32768/10000,677*32768/10000.word395*32768/1000

21、0,34*32768/10000984*32768/10000,1248*32768/10000,1248*32768/10000, 984*32768/10000,188*32768/10000,74*32768/10000,.text_c_int00: SSBX FRCTSTM #Hn,AR5RPT #15;AR5指向沖激響應MVPD TABLE,*AR5+STM #BUF,AR4RPTZ A,#15STL A,*AR4+STM #Xn,AR3STM #Yn,AR2STM #(Hn+15),AR5 ;STM #(BUF+15),AR4STM -1,AR0LD #BUF,DP MVDD *A

22、R3+,*AR4STM #240,BRCRPTB #TABLE;AR4指向緩沖區問;AR3指向輸入;AR4指向輸出;向緩沖區送數;卷積算法STM #16,BKRPTZ A,#15MAC *AR4+0%,*AR5+0%,ASTH A,*AR2+TABLE: MVDD *AR3+,*AR4+0%.end鏈接配置文件fir.asm程序如下-o fir.out-m fir.mapMEMORYPAGE 0: EPROM:org=0E000Hlen=1000HVECS :org=0FF80Hlen=0080HPAGE 1: SARAM:org=0060Hlen=0040HDARAM:org=0101Hle

23、n=1480H SECTIONS .text:>EPROMPAGE 0.vectors :>VECSPAGE 0.data:>EPROMPAGE 0.bss:>SARAMPAGE 1Hn :align(128)>DARAMPAGE 1BUF :align(128)>DARAMPAGE 1Xn :>DARAMPAGE 1Yn :>DARAMPAGE 1 中斷向量表文件vectors.asm程序如下.title "vectors.asm” .ref _c_int00 .sect ".vectors"B _c_int00

24、.end3.2.2 CCS波形仿真圖CCS中方波信號和濾波后波形如圖3-7所示:圖3-7方波波形及濾波后波形圖圖3-8方波信號的相頻特性波形圖CCS中方波信號濾波后的相頻特性如圖 3-9所示:圖3-9方波信號濾波后的相頻特性波形圖由于方波是由許多個正弦波疊加而得到的,所以經過fir低通濾波器后,留下的是低頻正弦波。圖3-10正弦疊加信號波形及濾波后波形圖CCS中正弦疊加信號的相頻特性如圖 3-11所示:圖3-11正弦疊加信號的相頻特性圖CCS中正弦疊加信號濾波后的相頻特性如圖 3-12所示:二1 ”咯5fie*S-2.frs*5-圖3-12正弦疊加信號濾波后的相頻特性圖通過以上各圖可看出當輸入

25、信號為方波時,輸出信號基本為正弦波;當輸入信號為疊加正弦波時,輸出為低頻正弦波。這說明濾波器起到了較好的濾波效果, 符合設計要求。通過Matlab仿真和CCS仿真濾波效果比較,DSP程序的濾波效 果要好于Matlab的濾波效果。4 IIR濾波器設計4.1 IIR 濾波器的Matlab設計數字濾波器的輸入xk和輸出yk之間的關系可以用如下常系數線性差分 方程及其z變換描述:NMyk = k aixk -i - biyk - ii z0i 1系統的轉移函數為:MH (z)Y ( z)X ( z)b k z ,k 3N1 二 a kz -kk _0設計一個IIR濾波器就是要根據所給定的指標確定上式中

26、的分子和分母系 數。設計IIR數字濾波器可以先設計一個合適的模擬濾波器,然后變換成滿 足給定指標的數字濾波器。這種方法很簡便,因為模擬濾波器有多種設計方法, 如巴特沃思型濾波器、切比雪夫型濾波器、橢圓函數型濾波器等,并且已經具有 很多簡單而又現成的設計公式。采用這種方法需要把s平面映射到z平面,使模擬系統函數H(s)變換成所需的數字濾波器的系統函數 H(z)0映射方法主要有沖 激響應不變法、階躍響應不變法和雙線性變換法。前兩種方法會因為多值映射關 系產生混疊失真,雙線性變換法克服了這一缺點。雙線性變換法的映射關系式是:本實驗采用的是巴特沃思型濾波器c1.1.1 IIR濾波器參數的設計IIR濾波

27、器的參數用Matlab來設計,其程序為:fp=2100;fs=8000;Fs=20000;Rp=0.5;Rs=30;T=1/Fs;W1p=fp/Fs*2;W1s=fs/Fs*2;N ,Wn=buttord(W1p,W1s,Rp,Rs);b,a=butter(N,Wn)N ,Wn=buttord(W1p,W1s,Rp,Rs) b,a=butter(4,0.0671);figure(1)freqz(b,a,512,1000)b = 0.1600 0.4800 0.4800 0.1600a =1.0000 -0.0494 0.3340 -0.0045N =3Wn = 0.4914所設計的IIR濾波器

28、的幅相頻特性如圖4-1100B 0 eU -100 n aM -200-300 050100150200250300350400450500Frequency (Hz)-400 0-100-200-30050100150200250300350400450500Frequency (Hz)圖4-1 IIR濾波器的幅相頻特性圖由上圖可以看出所設計的IIR濾波器能夠讓頻率較低的信號通過1.1.2 檢驗方波的Matlab設計檢驗方波的Matlab程序為:t=0:2*pi/256:2*pi;f1=square(2*pi*t*1);y1=filter(b,a,f1);subplot(2,1,1);plo

29、t(f1);axis(0 50*pi -3 3);subplot(2,1,2);plot(y1);方波濾波前后的波形如圖4-23 1112 -1 -:Ii;I1:1f|:10 - 1 -'''!- 2.- 3110501001502jfjr1 -/ f / / / 0 . - r iI / : -1 -一-21111050100150200250300圖4-2方波驗證波形圖濾波后由圖可知當輸入方波時均可以濾出低頻成分實現低通濾波器的功能, 呈現正弦波。4.1.3正弦疊加信號的Matlab設計正弦疊加信號的Matlab程序為:figure(2)t=0:2*pi/1024:

30、2*pi;f1=sin(2*pi*t*1); 低頻正弦信號f2=sin(2*pi*t*10000);高頻正弦信號f3=f1+f2;疊加信號y1=filter(b,a,f3);subplot(4,1,1);plot(f1); 輸出圖像subplot(4,1,2);plot(f2);subplot(4,1,3);plot(f3);subplot(4,1,4);plot(y1);freqz(b,a,512,1000)正弦疊加信號濾波前后的波形如圖4-3所示202 |-0 -220040060080010001200圖4-3正弦疊加信號濾波前后波形圖從上圖可以看出低頻正弦信號和高頻正弦信號疊加后的信號

31、經濾波后,得到低頻的正弦信號,其幅值與頻率和原始低頻信號基本相同。4.2 IIR濾波器的CC般計根據Matlab中設計的濾波器參數,將它們用Q15的定標方式寫進匯編程序。 利用循環卷積編寫程序后,加載 Matlab中生成的* dat文件,就可以得到濾波之 后的圖像。這里以方波和正弦波進行檢驗。4.2.1 IIR 濾波器的CCSS序設計先畫出設計程序流程圖如圖4-4所示圖4-4 IIR濾波器設計流圖主程序IIR.asm如下.title "iir.asm".mmregs.def _c_int .usect "x",4y.usect"y",

32、4b0.usect"b0",4a0.usect"a0",4Xn:.usect"Xn", 256Yn: .usect "Yn", 256.datatable:.word 0;數據初始化清零.word 0.word 0.word 0.word 0.word 0.word 1600*32768/10000 ;設定濾波器參數.word 4800*32768/10000.word 4800*32768/10000.word 1600*32768/10000.word -494*32768/10000.word 3340*32

33、768/10000.word -45*32768/10000.text_c_int:ssbx frctstm #x,ar1;ar1 寫入 4rpt #2;循環下條語句3次mvpd #table,*ar1+ ;ar1 清零stm #y,ar1;ar1 寫入 4rpt #2mvpd #table+3,*ar1+;ar1 清零stm #b0,ar1 ;ar1 寫入 4rpt #3;循環下條語句3次mvpd table+6,*ar1+;ar1指向table末尾并依次寫入數據stm #a0,ar1 ;ar1 寫入 4rpt #2mvpd #table+10,*ar1 +stm #x+3,ar2stm #

34、a0+2,ar3stm #y+2,ar4stm #b0+3,ar5stm #Xn,ar6 %AR6 指向輸入stm #Yn,ar7%AR7 指向輸出stm #4,bk%定義循環緩沖區長度為4stm #-1,ar0stm 255,brciir: rptb next-1Id *ar6+,astl a,-1,*ar2mpy *ar2+0%,*ar5+0%,a% 計算前向通道mac *ar2+0%,*ar5+0%,amac *ar2+0%,*ar5+0%,amac *ar2,*ar5+0%,amac *ar4+0%,*ar3+0%,a% 計算反向通道mac *ar4+0%,*ar3+0%,amac *

35、ar4+0%,*ar3+0%,amar *ar3+0%修改AR3的位置sth a,*ar4 ;輸出結果Ynsth a,*ar7+next:B next.end鏈接配置文件程序如下vectors.objiir.obj-o iir.out-m iir.mapMEMORYpage 0:rom1 :org=0100h,len=1000h;設定各起始地址及存儲空間長度rom2 :org=2000h,len=0500hpage 1:daramO :org=1000h,len=0500hdaraml :org=1500h,len=0010hdaram2 :org=1600h,len=0010hdaram3 :org=1700h,len=0010hdaram4 :org=1800h,len=0010hSECTIONS.text:>rom1 page0.data : >daram0 page 1x : >daram1 page 1y : >daram2 page 1b0 : >daram3 page 1a0 : >daram4 page 1中斷向量文件程序如下.titl

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論