How to add AWGN white noise in a 2d vector

10 views (last 30 days)
mixed_ocr is a vector of 350x250. im receiving an error with the following code..please help
CODE :
clc
A1 = load('mixed_ocr.mat');
mixd_ocr = (A1.mixed_ocr);
y = awgn(mixd_ocr,10,'measured');
ERROR:
??? Error using ==> plus
Integers can only be combined with integers of the same class, or scalar doubles.
Error in ==> awgn at 272
y = sig+wgn(size(sig,1), size(sig,2), noisePower, 1, state, pMode, opType);
Error in ==> PARTA_Q3 at 4
y = awgn(mixd_ocr,10,'measured');
  1 Comment
Nishitha Ayyalapu
Nishitha Ayyalapu on 14 Oct 2013
It works fine with the data I worked on:
A = rand(350,250);
y = awgn(A,10,'measured');
The problem might be in the .mat you loaded. More information on your 350x250 you loaded would help to resolve the error.

Sign in to comment.

Accepted Answer

Wayne King
Wayne King on 14 Oct 2013
Edited: Wayne King on 14 Oct 2013
I think you should try casting the mixd_ocr matrix to double.
mixd_ocr = double(mixd_ocr);
If you execute
class(mixd_ocr) % before you cast to double
You'll probably see the issue. For example:
X = randn(350,250);
X = int8(X);
y = awgn(X,10,'measured');
gives the same error you are seeing.

More Answers (0)

Categories

Find more on Propagation and Channel Models in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!