UWB 超寬帶技術(shù) 源代碼.doc_第1頁
UWB 超寬帶技術(shù) 源代碼.doc_第2頁
UWB 超寬帶技術(shù) 源代碼.doc_第3頁
UWB 超寬帶技術(shù) 源代碼.doc_第4頁
UWB 超寬帶技術(shù) 源代碼.doc_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

BIT: 產(chǎn)生原信號二進(jìn)制比特流PPM-TH: 進(jìn)行PPM-TH調(diào)制Repcode: 進(jìn)行重復(fù)編碼TH: 產(chǎn)生TH碼TRANSMITTER_2PPM_TH:產(chǎn)生UWB信號waveform: 產(chǎn)生功率歸一化的脈沖波形1、FUNCTION: bit% 產(chǎn)生二進(jìn)制原信號% 原信號比特數(shù)numbis作為輸入function bits=bit(numbits)bits=rand(1,numbits)0.5;%rand產(chǎn)生的是在01上均勻分布的隨機(jī)數(shù)%這些數(shù)0.5的幾率各是一半,即bis為0,1的幾率各半3、FUNCTION: repcode% 產(chǎn)生重復(fù)編碼 % Ns :碼元重復(fù)數(shù)function repbits=repcode(bits,Ns)numbits = length(bits);temprect=ones(1,Ns);temp1=zeros(1,numbits*Ns);temp1(1:Ns:1+Ns*(numbits-1)=bits;temp2=conv(temp1,temprect);repbits=temp2(1:Ns*numbits);3、 FUNCTION: PPM_TH% 引入TH碼并進(jìn)行PPM調(diào)制% 參數(shù)如下:% seq:二進(jìn)制源碼% fc :抽樣頻率% Tc :時隙長度% Ts :脈沖平均重復(fù)周期% dPPM:PPM引入的時移% THcode :TH碼% 產(chǎn)生兩個輸出:% 2PPMTHseq :TH和PPM共同調(diào)制信號% THseq :未經(jīng)PPM調(diào)制的信號function PPMTHseq,THseq = PPM_TH(seq,fc,Tc,Ts,dPPM,THcode)% 調(diào)制dt = 1 ./ fc; framesamples = floor(Ts./dt); %每個脈沖的樣本數(shù) chipsamples = floor (Tc./dt); PPMsamples = floor (dPPM./dt); THp = length(THcode); totlength = framesamples*length(seq);PPMTHseq=zeros(1,totlength);THseq=zeros(1,totlength);% 引入TH碼和PPM %s(t)=sum(p(t-jTs-CjTc-aE)for k = 1 : length(seq) % 脈沖位置,表示第幾個脈沖-jTs index = 1 + (k-1)*framesamples; % 引入TH碼,-CjTc,表示第幾個時隙 kTH = THcode(1+mod(k-1,THp); index = index + kTH*chipsamples; THseq(index) = 1; % 引入PPM時移,-aE,表示在時隙內(nèi)的位置 index = index + PPMsamples*seq(k); PPMTHseq(index) = 1;end4、 FUNCTION : TH% 產(chǎn)生TH碼% Np:跳時碼周期% Nh:跳時碼最大上界function THcode=TH(Nh,Np);THcode = floor(rand(1,Np).*Nh);5、 FUNCTION : transmitter_2PPM_TH%產(chǎn)生UWB信號% 參數(shù)定義如下:% Pow:傳輸功率% fc;抽樣頻率% numbits:信號比特數(shù)% Ns:每比特脈沖數(shù)% Np:跳時碼周期% Nh:跳時碼最大上界% Ts:脈沖重復(fù)周期.% Tc:時隙大小% Tm:脈沖持續(xù)時間% tau:脈沖成形因子% dPPM:PPM引入時移% 返回值:% bits:產(chǎn)生比特流% THcode:TH碼% Stx:產(chǎn)生信號% ref:未經(jīng)調(diào)制的參照信號function bits,THcode,Stx,ref=transmitter_2PPM_TH(fc,numbit,Ns,Ts,dPPM)% 輸入?yún)?shù)Pow = -30; numbits = numbit; Tc = 1e-9; Nh = 10; Np = 5; Tm = 0.5e-9; tau = 0.2e-9; G = 1;% 模擬發(fā)射步驟% 二進(jìn)制原信號bits = bit(numbits);repbits = repcode(bits,Ns); % 重復(fù)編碼THcode = TH(Nh,Np); % 產(chǎn)生TH碼PPMTHseq,THseq = PPM_TH(repbits,fc,Tc,Ts,dPPM,THcode); % 調(diào)制% 成形濾波power = (10(Pow/10)/1000; Ex = power * Ts; w0 = waveform(fc,Tm,tau); wtx = w0 .* sqrt(Ex); Sa = conv(PPMTHseq,wtx); Sb = conv(THseq,wtx); % 產(chǎn)生輸出信號L = floor(Ts*fc)*Ns*numbits;Stx = Sa(1:L);ref = Sb(1:L);if G %繪圖F = figure(1);set(F,Position,30 120 700 400);clatmax = numbits*Ns*Ts;time = linspace(0,tmax,length(Stx);P = plot(time,Stx);set(P,LineWidth,2);ylow=-1.5*abs(min(wtx);yhigh=1.5*max(wtx);axis(0 tmax ylow yhigh);AX=gca;set(AX,FontSize,12);X=xlabel(時間 s);set(X,FontSize,14);Y=ylabel(幅度 V);set(Y,FontSize,14);for j = 1 : numbits tj = (j-1)*Ns*Ts; L1=line(tj tj,ylow yhigh); set(L1,Color,0 0 0,LineStyle, .%間隔比特的線 -,LineWidth,2); for k = 0 : Ns-1 if k 0 tn = tj + k*Nh*Tc; L2=line(tn tn,ylow yhigh); set(L2,Color,0.5 0.5 0.5,LineStyle, .%間隔幀的線 -.,LineWidth,2); end for q = 1 : Nh-1 th = tj + k*Nh*Tc + q*Tc; L3=line(th th,0.8*ylow 0.8*yhigh); set(L3,Color,0.5 0.5 0.5,LineStyle, . :,LineWidth,1); %間隔時隙的線 end endendend6、FUNCTION: waveform% 產(chǎn)生功率歸一化的脈沖波形,這里采用的是高斯波形的二階導(dǎo)數(shù)% fc :抽樣頻率% Tm :脈沖持續(xù)時間% tau :成形參數(shù)function w0=waveform(fc,Tm,tau);% 產(chǎn)生波形dt = 1 / fc; OVER = floor(Tm/dt); e = mod(OVER,2);kbk = floor(OVER/2);tmp = linspace(dt,Tm/2,kbk);s = (1-4.*pi.*(tmp./tau).2).* . exp(-2.*pi.*(tmp./tau).2);if e % 奇數(shù) for k=1:length(s) y(kbk+1)=1; y(kbk+1+k)=s(k); y(kbk+1-k)=s(k); endelse % 偶數(shù) for k=1:length(s) y(kbk+k)=s(k); y(kbk+1-k)=s(k); endendE = sum(y.2).*dt); w0 = y ./ (E0.5); %功率歸一化7、 FUNCTION : Gnoise% 為輸入信號引入加性白噪聲% 矢量 ebno包含了各個信噪比值% numbits:表示發(fā)送端發(fā)送的比特數(shù)目% 輸出:% 經(jīng)噪聲污染的信號output,噪聲矩陣noise.function output,noise = Gnoise(input,exno,numpulses)Ex = (1/numpulses)*sum(input.2); %一個單脈沖的平均接收能量ExNo = 10.(exno./10); No = Ex ./ ExNo; nstdv = sqrt(No./2); %噪聲的標(biāo)準(zhǔn)差for j = 1 : length(ExNo) noise(j,:) = nstdv(j) .* randn(1,length(input); output(j,:) = noise(j,:) + input;end8、 FUNCTION : IEEEuwb% 根據(jù)IEEE 802.15.SG3a.產(chǎn)生信道沖激響應(yīng) % fc :抽樣頻率% TMG:信道增益% 返回:% 1) h0:信道沖激響應(yīng)% 2) hf:離散信道沖激響應(yīng)% 3) OT:觀察時間OT% 4) ts:離散分辨率% 5) X:信道增益function h0,hf,OT,ts,X = IEEEuwb(fc,ag);% -% 輸入?yún)?shù)% -TMG=ag2 % 信道總多徑增益OT = 200e-9; % 觀測時間 sts = 1e-9; % 離散分辨率 s LAMBDA = 0.0223*1e9; % 簇平均到達(dá)因子 (1/s)lambda = 2.5e9; % 簇內(nèi)脈沖平均到達(dá)因子 (1/s)GAMMA = 7.1e-9; % 簇衰減因子 gamma = 4.3e-9; % 簇內(nèi)脈沖衰減因子sigma1 = 10(3.3941/10); % 簇的信道衰減系數(shù)偏差sigma2 = 10(3.3941/10); % 簇內(nèi)脈沖信道衰減系數(shù)偏差sigmax = 10(3/10); % 信道幅度增益的標(biāo)準(zhǔn)偏差% 脈沖衰減閾值,當(dāng)exp(-t/gamma)rdt時,該脈沖忽略rdt = 0.001;% 峰值閾值 dB,只考慮幅度在峰值-PT范圍以內(nèi)的脈沖PT = 50;G = 1;% -% 簇的形成% -dt = 1 / fc; % 采樣頻率T = 1 / LAMBDA; % 簇平均到達(dá)時間t = 1 / lambda; % 簇內(nèi)脈沖平均到達(dá)時間si = 1;CAT(i)=0; % 第一簇到達(dá)時間,初始化為0next = 0; while next OT i = i + 1; next = next + expinv(rand,T); %產(chǎn)生簇的到達(dá)時間,服從p(Tn/Tn-1)=lambda*-exp(Tn/Tn-1) if next 0.5)*2-1).*a; ccoeff = sigma1*randn; % 簇衰減 while exp(-next/gamma)rdt pc = pc + 1; next = next + expinv(rand,t); HT(pc) = CT + next; mx = 10*log(omega)-(10*CT/GAMMA)-(10*next/GAMMA); mu = (mx/log(10)-logvar; a = 10(mu+ccoeff+(sigma2*randn)/20); HA(pc) = (rand0.5)*2-1).*a; endend % for i = 1 : NC% 峰值濾波器peak = abs(max(HA);limit = peak/10(PT/10);HA = HA .* (abs(HA)(limit.*ones(1,length(HA);%凡小于limit的脈沖不輸出for i = 1 : pc itk = floor(HT(i)/dt); h(itk+1) = HA(i);end% -% 離散相應(yīng)形式% -N = floor(ts/dt);L = N*ceil(length(h)/N);h0 = zeros(1,L);hf = h0;h0(1:length(h) = h;for i = 1 : (length(h0)/N) tmp = 0; for j = 1 : N tmp = tmp + h0(j+(i-1)*N); end hf(1+(i-1)*N) = tmp;end% 功率歸一化E_tot=sum(h.2);h0 = h0 / sqrt(E_tot);E_tot=sum(hf.2);hf = hf / sqrt(E_tot);mux = (10*log(TMG)/log(10) - (sigmax2)*log(10)/20);X = 10(mux+(sigmax*randn)/20);h0 = X.*h0;hf = X.*hf;% -% 圖形輸出% -if G Tmax = dt*length(h0); time = (0:dt:Tmax-dt); figure(1) S1=stem(time,h0); AX=gca; set(AX,FontSize,14); T=title(信道沖激響應(yīng)); set(T,FontSize,14); x=xlabel(時間 s); set(x,FontSize,14); y=ylabel(幅度增益); set(y,FontSize,14); figure(2) S2=stairs(time,hf); AX=gca; set(AX,FontSize,14); T=title(離散時間沖激響應(yīng)); set(T,FontSize,14); x=xlabel(時間 s); set(x,FontSize,14); y=ylabel(幅度增益); set(y,FontSize,14);end9、 FUNCTION: pathloss% 根據(jù)給定的距離d,衰減因子gamma以及1米處的信號c0將輸入信號衰減% 函數(shù)返回衰減后的信號rx以及信道增益attnfunction attn = pathloss(c0,d,gamma)attn = (c0/sqrt(dgamma);10、 FUNCTION : PPMcorrmask_R% 為二進(jìn)制PPM UWB信號的Rake接收機(jī)計算相關(guān)掩膜mask% ref:未經(jīng)PPM調(diào)制的參考信號% fc:抽樣頻率 % numpulses :傳輸脈沖數(shù)目% dPPM:PPM時移量% rake:離散沖激相應(yīng)function mask =PMcorrmask_R(ref,fc,numpulses,dPPM,rake)dt = 1 / fc;LR = length(ref);% 功率歸一化Epulse = (sum(ref.2).*dt)/numpulses;nref = ref./sqrt(Epulse);% Rake 卷積mref = conv(nref,rake);mref = mref(1:LR);%構(gòu)造相關(guān)掩膜PPMsamples = floor (dPPM ./ dt);sref(1:PPMsamples)=mref(LR-PPMsamples+1:LR);sref(PPMsamples+1:LR)=mref(1:LR-PPMsamples);mask = mref-sref;11、FUNCTION :PPMreceiver% 構(gòu)造 2PPM TH UWB 信號的接收機(jī),并計算平均錯誤率BER% R: 表示所使用的波形矩陣,一個波形對應(yīng)于矩陣的一行% mask:表示相關(guān)掩膜 % fc:抽樣頻率% bits 發(fā)射機(jī)產(chǎn)生的原始二進(jìn)制比特流% Ns 每比特的脈沖數(shù)(即用幾個脈沖表示1比特)% Ts 平均脈沖重復(fù)周期,即一幀的長度% 函數(shù)返回:% RXbits :存儲經(jīng)解調(diào)后的二進(jìn)制數(shù)據(jù)流% BER:存儲計算得到的Prb直(誤比特率)%function RXbits,BER = PPMreceiver(R,mask,fc,bits,numbit,Ns,Ts)HDSD = 2;% HDSD = 1 - 硬判決,接收機(jī)對表示一個比特的Ns個脈沖逐一獨(dú)立判斷。% 將超過門限的脈沖數(shù)與低于門限的脈沖數(shù)比較,輸出較多者對應(yīng)的比特% HDSD = 2 - 軟判決,接收機(jī)把Ns個脈沖形成的信號當(dāng)作一個單獨(dú)的多脈沖信號% 接收機(jī)與信號進(jìn)行相關(guān)的掩膜m(t)是整個比特的脈沖串% 軟判決的效果要好于硬判決% 實(shí)現(xiàn)相關(guān)器% 一個信號波形一行,共有N個波形。每個波形長度為L,即每個波形的樣本數(shù)numbit=length(bits)N,L = size(R);RXbits = zeros(N,numbit);dt = 1 / fc; framesamples = floor(Ts ./ dt); bitsamples = framesamples * Ns; for n = 1 : N %分別取出N個波形,逐一判斷 rx = R(n,:); mx = rx .* mask; if HDSD = 1 % 硬判決 for nb = 1 : numbit mxk = mx(1+(nb-1)*bitsamples:bitsamples+. (nb-1)*bitsamples); No0 = 0; No1 = 0; for np = 1 : Ns mxkp = mxk(1+(np-1)*framesamples:. framesamples+(np-1)*framesamples); zp = sum(mxkp.*dt); %積分周期為Ts if zp 0 No0 = No0 + 1; else No1 = No1 + 1; end end if No0 No1 RXbits(n,nb) = 0; else RXbits(n,nb) = 1; end end % for nb = 1 : numbit end % end of Hard Decision Detection if HDSD = 2 % 軟判決 for nb = 1 : numbit mxk = mx(1+(nb-1)*bitsamples:bitsamples+. (nb-1)*bitsamples); zb = sum(mxk.*dt); %積分周期為NsTs if zb 0 % Z0,判斷為0 RXbits(n,nb) = 0; else % Z0)&(i0) NF = NF + 1; j = j + 1; index = s_ind(i); % 排序結(jié)束后,從尾部,即最大處往前操作 I(j) = index; T(j) = (index-1)*dt; G(j) = hf(index); i = i - 1;end% 計算權(quán)重binsamples = floor(ts/dt);if S NF S = NF;endSrake = zeros(1,NF*binsamples);for nf = 1 : NF x = I(nf); y = G(nf); Arake(x) = y; if nf = S Srake(x) = y; % 只輸出S個最大的多徑分量 end end 13、Function : corrsyn% 將接收信號和參考信號相與,得出時延估計% fc :抽樣頻率% 函數(shù)返回相與后的結(jié)果cfunction C = corrsyn(signal,template,fc)dt = 1 / fc;for s = 1 : length(signal) stmp = signalshift(template,fc,s*dt); % 在所有可能的位置上逐一進(jìn)行相關(guān)運(yùn)算,將會在原序列的時間偏移處得到最大值。 %因?yàn)榇藭r每個譜線都是相互相乘,而沒有因?yàn)槌艘?而受到損失。 C(s) = sum(signal.*stmp);end % for 1 : length(signal)14、Function : signalshift% 在接受參數(shù)in中加入移位tfunction out = signalshift(in,fc,t)dt = 1 / fc; % 按給定大小進(jìn)行時間偏移ss = mod(floor(t/dt),length(in);out = in(end-ss+1:end 1:end-ss);15、 FUNCTION : count_Estimated_Time% 該函數(shù)根據(jù)估計的時延矩陣計算目標(biāo)結(jié)點(diǎn)到各個參考點(diǎn)的估計距離% 輸入?yún)?shù):% 各個估計時延% 函數(shù)返回計算所得1*k的距離矩陣function estimated_Time = count_Estimated_Time(estimated_delay_1,estimated_delay_2,estimated_delay_3);% 構(gòu)造矩陣err_rangesestimated_Time(1)=estimated_delay_1;estimated_Time(2)=estimated_delay_2;estimated_Time(3)=estimated_delay_3;16、FUNCTION : count_Time% 該函數(shù)根據(jù)結(jié)點(diǎn)距離矩陣計算目標(biāo)結(jié)點(diǎn)到各個參考點(diǎn)的精確時延% 輸入?yún)?shù):% ranges:包含任兩點(diǎn)間距離大小為NxN的二維數(shù)組% Nx:目標(biāo)結(jié)點(diǎn)(待定位結(jié)點(diǎn))序號% Ref: 長度為k的參考結(jié)點(diǎn)數(shù)組 % 函數(shù)返回計算所得1*k的時延矩陣function Time = count_Time(ranges, Nx, Ref);% 構(gòu)造矩陣Timek = length(Ref);for i=1:k Time(i) = ranges(Ref(i),Nx)/(3e8);end;17、 FUNCTION : create_network% 在一個正方形區(qū)域里產(chǎn)生若干個結(jié)點(diǎn)并計算任兩點(diǎn)間的距離% 輸入?yún)?shù):% N:結(jié)點(diǎn)個數(shù)% 正方形邊長:area_side% 是否輸出圖形:G% 輸出:% 一個包含各個結(jié)點(diǎn)坐標(biāo)參數(shù)的大小為Nx2的二維數(shù)組% 一個包含任兩點(diǎn)間距離大小為NxN的二維數(shù)組function positions, ranges = create_network(N,area_side,G)for i = 1:N positions(i,1)=rand*area_side; positions(i,2)=rand*area_side; j=1; for j=1:(i-1) ranges(i,j)= sqrt(positions(i,1) -. positions(j,1)2 + (positions(i,2) -. positions(j,2)2); while(ranges(i,j)=0) X(i)=rand*50; Y(i)=rand*50; ranges(i,j)=sqrt(positions(i,1)-. positions(j,1)2+(positions(i,2)-. positions(j,2)2); end ranges(j,i)=ranges(i,j); endendif G scatter(positions(:,1),positions(:,2),20,filled); axis(0 area_side 0 area_side); xlabel(X m); ylabel(Y m); box on;end18、FUNCTION : find_position% 根據(jù)測距估計值定位% 輸入?yún)?shù):% positions:包含各個結(jié)點(diǎn)坐標(biāo)參數(shù)的大小為Nx2的二維數(shù)組% ranges:包含任兩點(diǎn)間距離大小為NxN的二維數(shù)組% Nx:目標(biāo)結(jié)點(diǎn)(待定位結(jié)點(diǎn))序號% Ref: 長度為k的參考結(jié)點(diǎn)數(shù)組 % sigma_2:測距誤差% G:是否輸出圖形% 函數(shù)返回計算所得的目標(biāo)結(jié)點(diǎn)位置并參照其實(shí)際位置計算定位誤差% function PosNx, ErrNx = find_LSE_position(positions, ranges, Nx, Ref,estimated_Time,G);% 用估計的時延k = length(Ref);for i=1:kerr_ranges(i)=estimated_Time(i)*3e8;end% 構(gòu)造矩陣Afor i=1:(k-1) A(i,1) = positions(Ref(i),1) - positions(Ref(k),1); A(i,2) = positions(Ref(i),2) - positions(Ref(k),2);endA=-2*A;% 構(gòu)造矩陣bb=zeros(2,1);for i=1:(k-1) b(i) = err_ranges(i)2 -. err_ranges(k)2 - positions(Ref(i),1)2 +. positions(Ref(k),1)2 - positions(Ref(i),2)2 +. positions(Ref(k),2)2;end% 計算目標(biāo)結(jié)點(diǎn)位置PosNx=Ab;% 計算定位誤差ErrNx = sqrt(PosNx(1)-positions(Nx,1)2+(PosNx(2)-. positions(Nx,2)2);% 圖形輸出if G scatter(positions(:,1),positions(:,2); xlabel(X m); ylabel(Y m); box on; hold on; scatter(PosNx(1), PosNx(2), 200, filled, k,p); scatter(positions(Nx,1),positions(Nx,2),200,. filled,); for i=1:k scatter(positions(Ref(i),1),positions(Ref(i),2),. filled,r,s); end hold off;end19、 FUNCTION : find_LSE_position% 根據(jù)節(jié)點(diǎn)間距精確定位% 輸入?yún)?shù):% positions:包含各個結(jié)點(diǎn)坐標(biāo)參數(shù)的大小為Nx2的二維數(shù)組% ranges:包含任兩點(diǎn)間距離大小為NxN的二維數(shù)組% Nx:目標(biāo)結(jié)點(diǎn)(待定位結(jié)點(diǎn))序號% Ref: 長度為k的參考結(jié)點(diǎn)數(shù)組 % sigma_2:測距誤差% G:是否輸出圖形% 函數(shù)返回計算所得的目標(biāo)結(jié)點(diǎn)位置并參照其實(shí)際位置計算定位誤差function PosNx, ErrNx = find_LSE_position(positions, ranges, Nx, Ref,sigma_2, G);% 加入誤差N = size(ranges,1);err_ranges = ranges + sqrt(sigma_2)*randn(N);% 構(gòu)造矩陣Ak = length(Ref);for i=1:(k-1) A(i,1) = positions(Ref(i),1) - positions(Ref(k),1); A(i,2) = positions(Ref(i),2) - positions(Ref(k),2);endA=-2*A;% 構(gòu)造矩陣bb=zeros(2,1);for i=1:(k-1) b(i) = err_ranges(Ref(i),Nx)2 -. err_ranges(Ref(k),Nx)2 - positions(Ref(i),1)2 +. positions(Ref(k),1)2 - positions(Ref(i),2)2 +. positions(Ref(k),2)2;end% 計算目標(biāo)結(jié)點(diǎn)位置

溫馨提示

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

評論

0/150

提交評論