Path: news.mathworks.com!not-for-mail
From: <HIDDEN>
Newsgroups: comp.soft-sys.matlab
Subject: Re: MC-CDMA simulation using Matlab
Date: Sun, 30 Mar 2008 07:29:04 +0000 (UTC)
Organization: The MathWorks, Inc.
Lines: 121
Message-ID: <fsnfg0$450$1@fred.mathworks.com>
References: <5452bf3f-bdde-41b0-97c6-25b5ee902e78@i29g2000prf.googlegroups.com>
Reply-To: <HIDDEN>
NNTP-Posting-Host: webapp-03-blr.mathworks.com
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-Trace: fred.mathworks.com 1206862144 4256 172.30.248.38 (30 Mar 2008 07:29:04 GMT)
X-Complaints-To: news@mathworks.com
NNTP-Posting-Date: Sun, 30 Mar 2008 07:29:04 +0000 (UTC)
X-Newsreader: MATLAB Central Newsreader 1334264
Xref: news.mathworks.com comp.soft-sys.matlab:459912



BULDO <mikailidirs@gmail.com> wrote in message
<5452bf3f-bdde-41b0-97c6-25b5ee902e78@i29g2000prf.googlegroups.com>...
> I am simulating MC-CDMA using Matlab. Here is the message
Maltab
> returned when I ran the simulation:
> 
> Undefined function or method 'snr' for input arguments of
type 'char'.
> Error in ==> MCCDMA at 10
> snr _in_ dB = 0:1:15;
> 
> I am using Matlab 2007b and the Matlab code is:
> 
> 
> % MCCDMA %
> % for simulation %
> %%%%%%%%%%%%%%%%%%%%
> %%% Transmitter Model %%%
> clear all;
> clc;close all;
> tic;                % start a stopwatch timer
> xaxis=[];
> yaxis=[];
> snr _in_ dB = 0:1:15;
> R= 100;
> for n=1:lentgh(snr_in_dB)
>     no_of_errors=0;
>     for m=1:R
>         N=8;            %no of subchannels
>         ifft_size=N;    %ifft size
>         fft_size=N;     %fft size
>         M=100000;      % nos of data in each subchannel
>         total_no_of_data= N*M;
>     rand_data_seed=11;
>     % Generation of N parallel dada sequence
>     rand('seed',rand_data_seed);
>     user_data_matrix=rand(N,M);
>     user_data_matrix=(user_data_matrix>0.5)*2-1;
>     % Calling of function for code matrix
>     code_mat=code_matrix(N,'hada_11');
>     trans_code_mat_out=(conj(code_mat))*user_data_matrix;
>     % IFFT of the code matrix out
>     trans_ifft_out=iff(trans_code_mat_out,ifft_size);
>     % Normalization of IFFT
>     trans_ifft_out_nor=trans_ifft_out* sqrt(N);
>     % Parallel to serial of transmit signal
>     trans_sig_serial=reshape(trans_ifft_out_nor,1,N*M);
>     recv_sig_serial=trans_sig_serial;
>     %%% Receiver Model %%%
>     % Serial to parallel for received signal
>     recv_signal_parallel=reshape(recv_signal_serial,N*M);
>     % Taking FFT of the received signal(parallel)
>     recv_fft_out=fft(recv_signal_parallel,fft_size);
>     % Normalization of the FFT
>     recv_fft_out_nor=recv_fft_out/sqrt(N);
>     % Calling function for weight matrix
>     [weight_mat,diag_h]=weight_mat(N,'awgn');
>     % Multiplication of Rayleigh Noise with FFT out
>     recv_fft_out_rayleigh=diag_h*recv_fft_out_nor;
>     % Addition of AWGN
>  
>
recv_fft_awgn_out=awgn(recv_fft_out_rayleig,SNR_in_dB(n),'measured');
>    
recv_fft_out_noise=recv_fft_awgn_out-recv_fft_out_rayleigh;
>    
recv_fft_awgn_out=recv_fft_out_rayleigh+(recv_fft_out_noise/
> sqrt(2));
>     % Multiplication by weight matrix
>     recv_wmat_out=weight_mat*recv_fft_awgn_out;
>     % Taking inverse of code matrix
>     inv_code_mat=inv(code_mat);
>     % Multiplication by Inverse Code Matrix
>     out_data_parallel=inv_code_mat*(recv_wmat_out);
>     % Taking real part of the out_data_ parallel matrix
>     real_out_data_parallel=real(out_data_parallel);
>     % Converting the real_out_parallel matrix to '1' and '-1'
>     out_user_data_matrix=(real_out_data_parallel>0)*2-1;
>     % Parallel to serial conversion of out data
>     out_data_serial=reshape(out_user_data_matrix,1,N*M);
>     %%% calculation of bit error rate %%%
>     % regeneration of transmitted user data matrix
>     rand('seed',rand_data_seed);
>     trans_user_data_matrix=rand(N,M);
>     trans_user_data_matrix=(trans_user_data_matrix>0.5)*2-1;
>     % Calculation of bit error rate
>  
>
[no_of_errors,symbol_error_rate]=symerr(trans_user_data_matrix,out_user_data_matrix);
>     no_of_errors=no_of_errors+no_of_errors;
>     end;
>     sym_err_rate=no_of_errors/total_no_of_data;
>     ber_simulated=sym_err_rate/1.0;
>     ber_simulated;
>     yaxis=[yaxis,ber_simulated];
> end;
> xaxis=[xaxis,SNR_in_dB];
> % Save BER for different SNR
> save ybhawgns.mat yaxis;
> % Plotting command follows
> seminolog(xaxis,yyaxis,'g-');
> ylabel('.............SNR(dB).............');
> ylabel('.............AverageBER..........');
> axis([0 17 0.000001 0.1]);
> toc;              % read the stop watchtimer,print time in
second
> %%%  End of program      %%%
> 
> 
> 
>    Thanks for you help,take care!

I hav Got an error of line 26
"Undefined command/function 'code_matrix'.

Error in ==> Mc at 26
    code_mat=code_matrix(N,'hada_11');"

Can anyone please help me on that error......