Generation of random phase factors.
Ältere Kommentare anzeigen
How to generate a random phase vector of size MxN following these conditions:
for M=1:5
N = 4; % number of columns in output phase matrix (P_out)
theta= 1xN random values over range of [0:360] degrees
P=exp(j*theta) % Phase factor
P_out= MxN output row vector for random N values of theta
end
Conditions for choosing theta:
- 0 <= theta <= 2*pi % Range of theta
- Each theta is any whole number multiple of smallest non-zero theta.for e.g.,
say for N = 4: theta=[45,0,180,225]% random angles
here each value of theta is a some whole number multiple of 45: [45x0=45, 45x1=45, 45x4=180, 45x5=225]
So,
P_out=MXN matrix having all different angles in a row.
Any help is much appreciated, regards
Akzeptierte Antwort
Weitere Antworten (2)
Image Analyst
am 8 Dez. 2013
Bearbeitet: Image Analyst
am 8 Dez. 2013
Try this:
numberOfAngles = 4; % or however many you need
theta = 45 * (randi(8, 1, numberOfAngles) - 1)
Of course, multiply by pi/180 if you want it in radians. Also, you can use sind(), cosd(), etc. if you want to use functions that work in degrees instead of radians.
1 Kommentar
Ved
am 9 Dez. 2013
Wayne King
am 8 Dez. 2013
Bearbeitet: Wayne King
am 8 Dez. 2013
The way you have set it up, the phase angles are not random
If you really want phase angles randomly chosen to cover the interval (-pi, pi]
theta = -pi+2*pi*rand(10,1);
The above gives you 10 of them.
1 Kommentar
Kategorien
Mehr zu Detection finden Sie in Hilfe-Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!