MATLAB: How can i give randn function in the argument of qammod comment

qammod

clear all
clc
close
M =8;
no_of_data_points = 128;
data_source= randn(1,4,'single');
stem(data_source); grid on; xlabel('Data Points'); ylabel('transmitted data phase representation')
title('Transmitted Data "O"')
qam_modulated_data = qammod(data_source, M);
scatterplot(qam_modulated_data);title('MODULATED TRANSMITTED DATA');
Error in qammod (line 95)
validateInput(x, M, bitInput, outputDataType);
Error in s (line 9)
qam_modulated_data = qammod(data_source, M);
how to solve this?I want to give randn as the argument of qammod function.

Best Answer

data_source = abs(round(randn(1,4,'single')));
Note that most of the time the result will be 0 or 1's, because more than 68% of randn() will fall within +/- 1
qammod only accepts non-negative integers.
I would suggest to you that if you want to use a random integer distribution that is not uniformly distributed, that you consider using a poisson distribution.