Not enough input arguments for awgn function

2 次查看(过去 30 天)
Hi,I'm very new to the MATLAB and I just got a question, the code is for generate a random signal and then add a white noise to it:
%define variables
N = 10;
k = 1;
fc = 2000;
%create a random binary stream of N bits
data = randi([0 1],N,1);
%sample at 8 samples/bit (8*N samples)
for i = 1:N
for j = 1:8
y(k) = data(i);
k = k+1;
end
end
%modulate the sampled signal
t = linspace(0,0.8*N,8*N);
z = y.*cos(2*pi*fc*t);
g = awgn(z,snr,'measured');
after that, it tells me:
Error using snr (line 84)
Not enough input arguments.
Does anyone knows How to solve that?

采纳的回答

Walter Roberson
Walter Roberson 2018-4-15
awgn() expects you to pass a numeric value for the signal to noise ratio. Instead in that position you mention snr . snr happens to be the name of a function, so MATLAB tries to invoke the function at that point. But the function needs arguments...
You should be assigning a value to snr before you call awgn.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Propagation and Channel Models 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by