Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6013789
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 23, 20262026-05-23T02:35:59+00:00 2026-05-23T02:35:59+00:00

Context I have a matrix comprising of a sequence of column vectors. Each column

  • 0

Context

I have a matrix comprising of a sequence of column vectors. Each column vector contains a series of angles defined in degrees within the range -180 to 180. I wish to add white Gaussian noise to each angle across the sequence to test a system in relation to its robustness against noise.

Given that some angles do not change much and others change significantly over the sequence, I wish to add noise at a level that is proportional to the amount of activity/change. Therefore, I have chosen to sample from a Gaussian with zero mean with the amplitude defined relative to the individual angles’ standard deviation (as a ratio).

My Matlab code for doing so is given below:

function Y2 = addnoise2angles(Y1, ratio)

%# Random numbers sampled from Gaussian
N = randn(size(Y1));

%# Noise level is defined per angle as a ratio of their respective standard deviations
sigma = std(Y1, 0, 2);
N = N.*repmat(sigma, 1, size(N, 2));
N = N*ratio;

%# Apply noise to angles
Y2 = Y1+N;
Y2 = wrapTo180(Y2);

end

Questions

Is this the right approach to test the robustness to noise?

If so, what range of ratios would be sensible for testing?

If not, what is wrong about it, and what is the right approach?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-23T02:35:59+00:00Added an answer on May 23, 2026 at 2:35 am

    If I understand correctly, each row is the measurement of the same angle, and each column is a single measurement of all the angles. What you would like to do is add some noise to the entire set of measurements, so as to then check the effect on some subsequent process. How you should add the noise is completely dependent on what sort of question you want to answer. If you believe that each column looks something like a measurement of all the angles, then your idea of estimating the noise in each angle measurement independently, and then adding additional white noise, would allow you to say something about how per-angle noise effects a subsequent process. In this sense I think your measurement works.

    One thing I would point out is that measuring the standard deviation of angles around a circle is not the same as measuring samples on the real line. For instance, if you have a measurement whos value is 180 + randn(0.1), i.e, right at the boundary between +180 and -180, then your measurement of the std deviation is going to be much larger than .1 degree, since most samples are very close to +180 or -180. One very easy way to solve this is to estimate the std deviation twice, with different wrapping points, and take the minimum estimate. E.g.

    sigma1 = std(Y1, 0, 2);
    sigma2 = std(wrapTo180(Y1+90),0,2);
    sigma = min(sigma1,sigma2);
    

    More complicated estimates for variance around a ring exist, for instance looking looking at the median angle difference between all estimate pairs within a sample. This additional complexity might not be necessary for your application.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a matrix A with size (nr,nc), a vector of column indices B
Context: I have to add an online payment system, on a quite old PHP
Context: I have a WPF App that uses certain unmanaged DLLs in the D:\WordAutomation\MyApp_Source\Executables\MyApp
Context We have a SharePoint site set up on a Windows Server 2008 VM
Context: I have a class that implements a Session, maintaining a TCP connection to
Context I have a list of items I also have a structure with s
Setting up ASP.net MVC with Linq2SQL or Entity Framework's context to have scaffolding work
I have a context loader class which loads an XML file with info on
I have a LINQ TO SQL Context that I have created that calls a
I want to have the context menu of links provide me an option to

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.