亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

程序如下:為什么在MATLAB中 Missing variable or function.

程序如下:為什么在MATLAB中 Missing variable or function.

阿晨1998 2023-02-16 18:14:29
function [ output_args ] = Untitled1( input_args )%UNTITLED1 Summary of this function goes here% Detailed explanation goes here%數據調制采用QPSKclear;clc;Signal=rand(1,para*Ns*2)>0.5;%產生0,1隨機數列,符號個數為para*2*Ns(子信道個數×調制水平×每個子信道中有用符號個數)for i=1:parafor j=1:Ns*2SigPara(i,j)=Signal(i*j);%串并轉換,將隨機產生的二進制矩陣變換為行數為para,列數為2*Ns的矩陣endend%進行QPSK數據調制,將數據分為兩個通道for j=1:Nsich(:,j)=SigPara(:,2*j-1);qch(:,j)=SigPara(:,2*j);endkmod=1./sqrt(2);ich1=ich.*kmod;qch1=qch.*kmod;x=ich1+qch1.*sqrt(-1); %y=ifft(x); % ich2=real(y); %qch2=imag(y); %%插入保護間隔ich3=[ich2(fl-gl+1:fl,:);ich2];qch3=[qch2(fl-gl+1:fl,:);qch2];%并串轉換ich4=reshape(ich3,1,(fl+gl)*Ns);qch4=reshape(qch3,1,(fl+gl)*Ns);%形成復數發射數據TrData=ich4+qch4.*sqrt(-1);%接收機%加入高斯白噪聲ReData=awgn(TrData,SNR,'measured');%接收端%移去保護時隙idata=real(ReData);qdata=imag(ReData);idata1=reshape(idata,fl+gl,Ns);qdata1=reshape(idata,fl+gl,Ns);idata2=idata1(gl+1:gl+fl,:);qdata2=qdata1(gl+1:gl+fl,:);%FFTRex=idata2+qdata2*sqrt(-1);ry=fft(Rex);ReIChan=real(ry);ReQChan=imag(ry);ReIChan=ReIChan/kmod;ReQChan=ReQChan/kmod;%QPSK逆映射for j=1:NsRePara(:,2*j-1)=ReICh7an(:,j);RePara(:,2*j)=ReQChan(:,j);endReSig=reshape(RePara,1,para*Ns*2);%符號抽樣判決ReSig=ReSig>0.5;figure(2)subplot(211),stem(ReSig(1:20)),grid;subplot(212),stem(Signal(1:20)),grid%End of script file.
查看完整描述

1 回答

?
慕的地10843

TA貢獻1785條經驗 獲得超8個贊

function [ output_args ] = Untitled1( input_args )
%UNTITLED1 Summary of this function goes here
% Detailed explanation goes here
%數據調制采用QPSK
clear;
clc; %clc是清除當前command區域的命令,表示清空,看著舒服些 。而clear用于清空環境變量
SNR=10; % 信噪比
Nfft=128; % 設置FFT長度
Ns=6; %設置一個禎結構中OFDM信號的個數
para=128;%設置并行傳輸的子載波個數
sr=250000; %符號速率
br=sr.*2;% 每個子載波的比特率
gl=32; %保護時隙的長度
Signal=rand(1,para*Ns*2)>0.5;%產生0,1 隨即序列,符號數為para*Ns*2
%(子信道個數×調制水平×每個子信道中有用符號個數)
for i=1:para
for j=1:Ns*2
SigPara(i,j)=Signal(i*j);%串并變換
%將隨機產生的二進制矩陣變換為行數為para,列數為2*Ns的矩陣
end
end
%QPSK調制,將數據分為兩個通道
for j=1:Ns
ich(:,j)=SigPara(:,2*j-1);
qch(:,j)=SigPara(:,2*j);
end
kmod=1./sqrt(2);
ich1=ich.*kmod;
qch1=qch.*kmod;
x=ich1+qch1.*sqrt(-1); %頻域數據變時域
y=ifft(x);
ich2=real(y);
qch2=imag(y);
%插入保護間隔
ich3=[ich2(Nfft-gl+1:Nfft,:);ich2];
qch3=[qch2(Nfft-gl+1:Nfft,:);qch2];
%并串變換
ich4=reshape(ich3,1,(Nfft+gl)*Ns);
qch4=reshape(qch3,1,(Nfft+gl)*Ns);
%形成復數發射數據
TrData=ich4+qch4.*sqrt(-1);
%接收機
%加入高斯白噪聲
ReData=awgn(TrData,SNR,'measured');
%接收端
%移去保護間隔
idata=real(ReData);
qdata=imag(ReData);
idata1=reshape(idata,Nfft+gl,Ns);
qdata1=reshape(qdata,Nfft+gl,Ns);
idata2=idata1(gl+1:gl+Nfft,:);  
qdata2=qdata1(gl+1:gl+Nfft,:);  
%FFT
Rex=idata2+qdata2*sqrt(-1);
ry=fft(Rex);
ReIChan=real(ry);
ReQChan=imag(ry);
ReIchan=ReIChan/kmod;
ReQchan=ReQChan/kmod;
%QPSK逆映射
for j=1:Ns
RePara(:,2*j-1)=ReIChan(:,j);
RePara(:,2*j)=ReQChan(:,j);
end
ReSig=reshape(RePara,1,para*Ns*2);
%符號抽樣判決
ReSig=ReSig>0.5;
figure(1);
subplot(2,1,1),stem(ReSig(1:20)),grid minor;
title('resignal');
xlabel('x'),ylabel('y');
subplot(2,1,2),stem(Signal(1:20)),grid;
title('signal');

你的程序缺好多參數,已補全~

 


查看完整回答
反對 回復 2023-02-20
  • 1 回答
  • 0 關注
  • 125 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號