function [x_bpsk bpsk] = Mod_bpsk(bits)
global freq;
global t;
bpsk = [];
carrier = sin(freq * t);
for n = 1 : length(bits)
if bits(n) == 0
as = -1;
else
as = 1;
end
bpsk = [bpsk as*carrier];
x_bpsk = 0 : 0.01 : (length(bpsk) / 100) - 0.01;
end
함수 하나를 이렇게 짰고
close all
clear all
clc
global freq;
global t;
global bits;
% Input Data
bit_len = input('How many bits do you want to generate? : ');
sim_loop = input('How many times to simulate? : ');
freq = input('What is frequency of carrier sinal? : ');
SNR_start = input('What is SNR of start point in this system? : ');
SNR_end = input('What is SNR of end point in this system? : ');
% Parameter
t = 0 : 2*pi/99 : 2*pi;
BER_avg = [];
SNR = SNR_start : 1 : SNR_end;
for ii = 1 : length(SNR)
for sim = 1 : sim_loop
% Generate Random bit
bits = randi([0 1], 1, bit_len);
% BPSK modulation
[x_bpsk bpsk] = Mod_bpsk(bits);
% Add AWGN
[AWGN_sig] = AWGN(bpsk,SNR(ii),bits);
% BPSK modulation
[dbpsk] = dMod_bpsk(AWGN_sig,bits);
% Calculate BER performance
BER(sim) = sum(bits ~= dbpsk) / bit_len;
end
BER_avg = [BER_avg mean(BER)];
end
메인함수부분에서 이렇게 호출했는데 [x_bpsk bpsk] = Mod_bpsk(bits); 여기서 자꾸
Too many input arguments.라는 에러가 뜨네요
당췌 뭐가 문젠지 모르겠어요;; 도와주세요
댓글 0