Adding noise to a sine wave

Hi, I get error: Attempt to reference field of non-structure array. Error using + Matrix dimensions must agree.Error in (line 19), y=x+(alpha.v)
for following code please:
fs=8000;
tmax=4/360;
fangular=pi/10; % angular frequency (rad/sample).
n=1:fs*tmax;
A=1.2; % Amplitude
x=A*sin(n*fangular);
v=randn(1,64);
alpha=0.1;
noise=alpha*v;
y = x + noise;
plot(y)

Answers (1)

The expression "v.alpha" is interpreted by matlab as the contents of the field "alpha" of the structure variable "v". This is probably not what you meant.
You create v as a 1-by-64 array, and alpha is a scalar. I assume you want to simply multiply all elements of v by alpha, therefore:
v .* alpha
or, since alpha is a scalar,
v * alpha

2 Comments

Aswas
Aswas on 23 Aug 2017
Edited: Aswas on 23 Aug 2017
Thanks Jos, but neither works, same error please: Error using + Matrix dimensions must agree.
Error in (line 20)
y = x + noise;
Thanks I found answer from another question in this forum.

Sign in to comment.

Categories

Asked:

on 23 Aug 2017

Commented:

on 23 Aug 2017

Community Treasure Hunt

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

Start Hunting!