找回密码
 注册
关于网站域名变更的通知
查看: 464|回复: 2
打印 上一主题 下一主题

请教大神,为什么会出现未定义函数或变量 'Parameter_Classical',感谢!

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-1-14 18:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
请教大神,为什么会出现未定义函数或变量 'Parameter_Classical',感谢!

$ E& D8 l( T% V! K) {
clearall;
closeall;
carrier_count=1024;%子载波数
IFFT_length=1024;%FFT点数
N=2000;%信源0,1序列长度
%产生瑞利信道衰落
T=1;
T_interval=0.01;
N1=64;
N2=64;
fmax=1000;
H=ceil(T/T_interval);
t=(0:H-1)*T_interval;
Variance1=1;
[f1,c1,theta1]=Parameter_Classical(N1,Variance1,fmax,'rand');
[f2,c2,theta2]=Parameter_Classical(N2,Variance1,fmax,'rand');
c1=c1/sqrt(2);
c2=c2/sqrt(2);
reyleigh_t=Gauss_generator(c1,f1,theta1,T_interval,T)+j*(Gauss_generator(c2,f2,theta2,T_interval,T));
DATA_R_IFFT_length=zeros(1,IFFT_length);
for  SNR=0:3:15
           for n_H=1:1:H
                r_h=reyleigh_t(1,n_H); % 取一个信道样点,H=5000个点
        % 信号产生2000bit随机0,1序列
             data=zeros(1,N/2); %产生1*1000的零矩阵;
             message=randint(1,N); %产生2000bit随机0,1序列
            reshape_message=reshape(message,N/2,2); %串并转换,变为1000*2的矩阵
             for  n=1:1:N/2    %星座映射
                    ifreshape_message(n,==[1,1]
                       data(1,n)=sqrt(2)/2+j*sqrt(2)/2;
                         end
                    ifreshape_message(n,==[1,0]
                        data(1,n)=sqrt(2)/2-j*sqrt(2)/2;
                    end
                    ifreshape_message(n,==[0,1]
                       data(1,n)=-sqrt(2)/2+j*sqrt(2)/2;
                    end
                    ifreshape_message(n,:)==[0,0]
                    data(1,n)=-sqrt(2)/2-j*sqrt(2)/2;
                    end
             end
%产生待IFFT变换的数据,1*1024矩阵,中间置0,两头添0
            DATA_T=[0 0 0 0 0 0 0 0 0 0 0[data(1:500) 0 data(501:1000)] 0 0 0 0 0 0 0 0 0 0 0 0];   
            DATA_ifft=ifft(DATA_T,1024);%进行1024点的ifft变换   
            Recieve1=r_h.*DATA_ifft; %过信道
            r = awgn(Recieve1,SNR,'measured');%加噪声
            Recieve_h=r/r_h; % 去信道Recieve.
            Recieve_fft=fft(Recieve_h,1024); % 接受的1*1024矩阵进行fft变换
            for     n_R=1:1:1024    % fft变换后判断每一点在星座图的位置
                x=real(Recieve_fft(1,n_R));
                y=imag(Recieve_fft(1,n_R));
               d_1=sqrt((x-sqrt(2)/2)^2+(y-sqrt(2)/2)^2);
               d_2=sqrt((x+sqrt(2)/2)^2+(y-sqrt(2)/2)^2);
                d_3=sqrt((x+sqrt(2)/2)^2+(y+sqrt(2)/2)^2);
               d_4=sqrt((x-sqrt(2)/2)^2+(y+sqrt(2)/2)^2);
                D=[d_1 d_2 d_3 d_4];
                d_min=min(D);     %以最小距离为基准判断
                if      d_min==d_1
                        DATA_R_IFFT_length(n_R)=sqrt(2)/2+j*sqrt(2)/2;
                elseif  d_min==d_2
                       DATA_R_IFFT_length(n_R)=-sqrt(2)/2+j*sqrt(2)/2;
                elseif  d_min==d_3
                       DATA_R_IFFT_length(n_R)=-sqrt(2)/2-j*sqrt(2)/2;
                elseif d_min==d_4
                       DATA_R_IFFT_length(n_R)=sqrt(2)/2-j*sqrt(2)/2;
                end
            end
            DATA_R=[DATA_R_IFFT_length(12:511)DATA_R_IFFT_length(513:1012)];           
            data_r=zeros(N/2,2);
            for k=1:1:N/2   %用星座图点变回0,1序列
                if  DATA_R(1,k)==sqrt(2)/2+j*sqrt(2)/2
                    data_r(k,:)=[1 1];
                elseifDATA_R(1,k)==sqrt(2)/2-j*sqrt(2)/2
                    data_r(k,:)=[1 0];
               elseif DATA_R(1,k)==-sqrt(2)/2+j*sqrt(2)/2
                    data_r(k,:)=[0 1];
                elseifDATA_R(1,k)==-sqrt(2)/2-j*sqrt(2)/2
                    data_r(k,:)=[0 0];
                end
            end
            message_r=reshape(data_r,1,N);
            bit_errors=find(message~=message_r);
           bit_errors_count=size(bit_errors,2);
            ber=bit_errors_count/2000;
            ber_total(1,n_H)=ber;
        end
        ber_avg=mean(ber_total);
semilogy(SNR,ber_avg,'--rs','LineWidth',2,'MarkerEdgeColor','k','MarkeRFaceColor','g','MarkerSize',10);
            title('BER曲线');
        xlabel('SNR');
        ylabel('BER');
        hold on;
        grid on;
end

6 Y. D. _+ _% F

该用户从未签到

2#
发表于 2021-1-14 19:20 | 只看该作者
经常有识别不出的

该用户从未签到

3#
发表于 2021-1-15 09:54 | 只看该作者
因为你没有定义这个函数啊
( A7 I0 ?$ k1 I+ L/ q+ jmatlab当前路径下有这个函数吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-19 14:21 , Processed in 0.078125 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表