📄 phase_shift.m
字号:
function returna = phase_shift(q1,q2);%UNTITLED1 Summary of this function goes here% Detailed explanation goes here%----------------DVB-T 2K Transmission----------------% clear all;% close all;%-------------------DVB-T Parameters------------------% Tu=224e-6; %useful OFDM symbol period% T=Tu/256; %baseband elementary periodT=(1/4.125)*1e-6;G=1/8; %choice of 1/4, 1/8, 1/16, and 1/32% delta=G*Tu; %guard band duration% Ts=delta+Tu; %total OFDM symbol periodM=128; %number of subcarriersFS=128; %IFFT/FFT lengthTs=T/M;% q=5; %carrier period to elementary period ratio% fc=q*1/T; %carrier frequency% Rs=4*fc; %simulation periodNs=20;N1=20;M1=12;K=1;P=4;% SNR=10;t=0:T/M:((M-1)/M)*T;L=2.^10;Q1=q1;Q2=q2;% tt=0:T/2:Tu;%--------------------Data Generator-------------------sigSource=-1+2*round(rand(1,M*Ns*2));sigBit=reshape(sigSource,M,Ns*2);for i=1:Ns tempI(:,i)=sigBit(:,2*i-1); tempQ(:,i)=sigBit(:,2*i);endtempA=tempI+tempQ.*j;tempX=[tempA(1:N1,:);zeros(M1,Ns);tempA((N1+M1+1):M,:)];for k=1:K pk=[zeros(N1-Q1,1);(floor(P*rand(1,Q1)))';zeros(M1,1);(floor(P*rand(1,Q2)))';zeros(M-N1-M1-Q2,1)]; p1k=(exp(j*2*pi/P)).^pk; for i=1:Ns tempX1(:,i)=tempX(:,i).*p1k; end tempY=ifft(tempX1); % tempY=[tempY1;zeros((1024-M),Ns)]; % tempB=[tempY(FS-G*FS+1:FS,:);tempY]; y=reshape(tempY,1,M*Ns); pwk(:,k)=pwelch(y,[],[],L,M/T);end% pwk1=mean(pwk(:,1));k1=1;% for k=1:K% if (mean(pwk(:,k))<pwk1);% pwk1=mean(pwk(:,k));% k1=k;% end% end% pw=pwk(:,k1);for k=1:K av=0; %基准线 for i=1:floor(L*N1/M); av=pwk(i,k)+av; end for i=ceil(L*(N1+M1)/M):L; av=pwk(i,k)+av; end av=10*log10(av/(floor(L*N1/M)+L-ceil(L*(N1+M1)/M)+1)); pwk2(:,k)=10*log10(abs(pwk(:,k)))-av;end% pwk1=mean(pwk2(160:250,1));k1=1;% for k=1:K% if (mean(pwk2(160:250,k))<pwk1);% pwk1=mean(pwk2(160:250,k));% k1=k;% end% endfor k=1:K; %K=1 v=0; for i=2:L-1; if (pwk2(i,k)>=pwk2(i-1,k))&(pwk2(i,k)>=pwk2(i+1,k))&(pwk2(i,k)<-8); %计算旁瓣 v=v+1;a(v)=pwk2(i,k); end endenda1=a(round(v/2));a2=count(tempX);returna=abs(a2)-abs(a1);% My_OFDM1(tempX);% % k=0:L-1;w=(2*pi/L)*k;% figure(1)% subplot(1,2,2)% plot(w/(2*pi*Ts),pw);% title('with phase shift');% grid on;% ylabel('Power Spectrum (dBr)');% xlabel('Frequency(Hz)');% axis([0,6e8,-25,5]);% hold on;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -