急寻达人帮忙看一下这个matlab 程序,请帮忙改一下,原程序提示有错,再线等待

clcK=1;%用户数量N=100;Q=10;%扩频增益W=16;m=16;d_error=zeros(1,m);%d_error=0;rate_error=zeros(... clc
K=1;%用户数量
N=100;
Q=10;%扩频增益
W=16;
m=16;
d_error=zeros(1,m);
%d_error=0;
rate_error=zeros(1,m);
time=76000;
SNR=0:2:30
for k=1:m
k
H=randn(K,W)+randn(K,W)*j;%信道增益
for i=1:time
%i
[d_k,S_k,n]=send(K,N,Q,SNR(k));%CMDA发送函数
% H=randn(K,W)+randn(K,W)*j;%信道增益
[d_MMSE_BLE,d]=MMSE_BLE(d_k,S_k,K,Q,W,N,H,n);
error=round(d_MMSE_BLE)-d;
d_error(k)=d_error(k)+sum(abs(error));
end
end
rate_error=d_error/(K*N*time)
figure(1);
semilogy(SNR,rate_error,'b*-');
xlabel('SNR, dB');
ylabel('Bit Error Rate');
title('Bit error probability curve for JD');

function [d_k,S_k,n]=send(number_of_user,N,Q,snr_in_dB)%,order_of_PN)
% 函数p_error=fun_cdma1(number_of_user,order_of_PN,snr_in_dB)仿真DS系统的误码率;
% 用户数为number_of_user、m序列的节数为order_of_PN、信噪比为snr_in_dB
% 的条件下DS系统的误码率为p_error
% author:zhouleilei
% time:2010-4-24
%---------------用户数据初始化-------------------------%
%N=100; %每个用户发送的比特数
num_user=number_of_user;%用户数
%产生用户比特流
orig_user=round(rand(num_user,N)); %均匀分布的0 1序列
user=2*orig_user-1; %转化为双极性码
%---------------PN序列初始化-------------------------%
%Q=10;
%PN_order=order_of_PN;%产生m序列的最大线性移位寄存器的节数
PN=round(rand(num_user,Q));%求C扩频序列
PN=2*PN-1;%变换成双极性
% 对基本的m序列进行移位,对num_user个不同的用户产生不同的m序列
L=length(PN);
%PN_user=zeros(num_user,L);
PN_user=PN;
if num_user>1;
for i=2:num_user
PN_user(i,:)=[PN(i*2:L),PN(1:2*i-1)];
end;
end;
%-------------用户数据进行直扩处理----------------%
ds_user=zeros(num_user,L*N);
for i=1:num_user
ds_user(i,:)=kron(user(i,:),PN_user(i,:));
end
%--------------发送、加噪处理----------------%
%对所有扩频后的用户数据相加,
if num_user==1
tx=ds_user;
else
tx=sum(ds_user);
end
snr=10^(snr_in_dB/10);
p_signal=tx*tx'/length(tx);
p_noise=p_signal/snr;
noise=sqrt(p_noise)*randn(size(tx));%AWGN
S_k=tx+noise;
d_k=user;
n=noise;

%最小均方误差块线形均衡
function [d_MMSE_BLE,d]=MMSE_BLE(d_k,S_k,K,Q,W,N,h,n);
%产生系统传输矩阵A和它共轭转置矩阵A_H
p=128;
%W=16;
%x=size(d_k);
%K=x(1);Q=x(2); %Q为扩频因子的长度
%h=rand(K,W);
%NN=size(S_k);
%N=NN(2)/Q;
%NN=size(S_k);
%N=NN(2)/Q;
A=zeros(N*Q+W-1,N*K);
A_h=zeros(N*K,N*Q+W-1);
b=zeros(K,N+W-1);
for ii=1:K
b(ii,:)=conv(d_k(ii,:),h(ii,:));

end
for k=1:K,
for n=1:N,
for l=1:(Q+W-1),
A(Q*(n-1)+l,n+N*(k-1))=b(k,l);
end
end
end
for ii=1:N*K,
for jj=1:N*Q+W-1,
A_h(ii,jj)=conj(A(jj,ii));
end
end
%e=kron(A,d_k);%zeros(N*K*N,K);
d=d_k(1);
[j,m]=size(d_k);
for i=2:j*m
d=[d;d_k(i)];
end
e=A*d;
ee=reshape(e,length(e),1);
E=zeros(N*K,N*K);
for ii=1:N*K,E(ii,ii)=1;end
aa=A_h*A+n*E;
d_MMSE_BLE=inv(aa)*A_h*ee;
展开
 我来答
百度网友df5604ebc8a
2011-06-19 · TA获得超过2701个赞
知道大有可为答主
回答量:4883
采纳率:0%
帮助的人:2691万
展开全部
其他的代码不变
修改如下
>> Vk=0:0.01:100;
>> P=Isc*(1-C1*(exp(Vk./(C2*Voc))-1)).*Vk;
dP=diff(P,1)/0.01;
ddP=diff(P,2)/0.01;
>> plot(Vk,P,Vk,[0 dP],Vk,[ 0 0 ddP]);legend('P','dP','ddP')
结果见图
追问
你好,这段代码加在主程序后,仍然没有出图,跑了半把个小时了,你那有出图的结果么?C1,C2,VK;的定义参数应该是多少呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
AiPPT
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图... 点击进入详情页
本回答由AiPPT提供
yunlkong
2011-07-04 · TA获得超过5711个赞
知道大有可为答主
回答量:9695
采纳率:0%
帮助的人:1.9亿
展开全部
a=magic(6);
b=0;
for i=1:1:6
for j=1:1:6
b=a(i,j)+b;
end
end
c=b/36;
b,c
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式