⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 phase_shift.m

📁 相移方法降低OFDM旁瓣
💻 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 + -