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)

Réponses (1)

Jos (10584)
Jos (10584) le 23 Août 2017

0 votes

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 commentaires

Aswas
Aswas le 23 Août 2017
Modifié(e) : Aswas le 23 Août 2017
Thanks Jos, but neither works, same error please: Error using + Matrix dimensions must agree.
Error in (line 20)
y = x + noise;
Aswas
Aswas le 23 Août 2017
Thanks I found answer from another question in this forum.

Connectez-vous pour commenter.

Catégories

Question posée :

le 23 Août 2017

Commenté :

le 23 Août 2017

Community Treasure Hunt

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

Start Hunting!

Translated by