Download presentation
Presentation is loading. Please wait.
Published byIra Chase Modified over 9 years ago
1
Metr 51: Scientific Computing II Lecture 10: Lidar Plotting Techniques 2 Allison Charland 10 April 2012
2
One week of Matlab left! Matlab Final will be on April 19 th Then on to HTML and creating a personal webpage Reminder
3
Emitted infrared light Infrared light reflected from aerosols Movement of aerosols by wind The shift in frequency of the return echo is related to the movement of aerosols. The faster the aerosols move, the larger the shift in frequency. From this, the wind speed relative to the light beam can be measured. Doppler Lidar Theory
4
Doppler wind lidar Halo Photonics, Ltd. Stream Line 75 1.5 micron Eye-safe 75 mm aperture all-sky optical scanner Min Range: 80 m Max Range: 10km 550 user defined range gates (24 m) Temporal resolution: 0.1-30 s Measurements: Backscatter Intensity Doppler Radial Velocity
5
Lidar Scanning Techniques Multiple elevation and azimuth angles can be adjusted to create different types of scans. DBS (Doppler Beam Swinging): Wind Profile Stare: Vertically pointing beam RHI (Range Height Indicator): Fixed azimuth angle with varying elevation angles PPI (Plan Position Indicator): Fixed elevation angle with varying azimuth angles 95 o 30 o 70 o
6
dlmread M = dlmread(filename, delimiter, R, C) dlmread will read a file with any type of delimiter from any row or column. M = dlmread(filename, delimiter, range) It can also be used to specifically read a range of different rows and columns. The delimiter can be expressed with a character string that responds to the type of delimiter. Use '\t' to specify a tab delimiter If you want to specify an R, C, or range input, but not a delimiter, set the delimiter argument to the empty string, (two consecutive single quotes with no spaces in between, ''). For example, M = dlmread('myfile.dat', '', 5, 2)
8
dlmread M = dlmread(filename, delimiter, R, C) Reads data whose upper left corner is at row R and column C in the file. Values R and C are zero-based, so that R=0, C=0 specifies the first value in the file. M = dlmread(filename, delimiter, range) Reads the range specified by range = [R1 C1 R2 C2] where (R1,C1) is the upper left corner of the data to read and (R2,C2) is the lower right corner
9
RHI Data Date & Time(UTC)
10
dist = 0:129; % Zero to number of gates - 1 dist = (dist + 0.5)*24; %Create distance array dist=dist'; %Transpose Note: This distance refers to the distance along the lidar beam at any angle. For the stare data, this corresponded to the height. It will be used later. Create your distance array dist
11
RHI Data Date & Time(UTC) This file has a fixed azimuth angle of 145 o and elevation angles ranging from 0 o to 80 o at intervals of 5 o There will be 16 sets of data for each elevation angle. (for i = 1:16)
12
R_t = 17; for i = 1:16 time_range = [R_t 0 R_t 2]; T(:,i) = dlmread(‘filename’,'',time_range); R_t = R_t + 131; %Set row range to the next %time row = num of gates +1 end %for So now T will be a 3x16 array with the first row corresponding to the times (will not be needed), the second row should be the same azimuth values, and the third row is the changing elevation angles. Read the time and angle row
13
Within the same loop as the time range R1_d = 18; %Row where velocity begins R2_d = 147; %Row where velocity ends for i = 1:16 data_range = [R1_d 1 R2_d 1]; V(:,i) = dlmread(‘filename’,'',data_range); R1_d = R1_d + 131; R2_d = R2_d + 131; end %for So now V will be a 130x16 array with the rows corresponding to velocity at range gates and columns corresponding to changing elevation angles. Read in velocity
14
Calculating x and z distances %Calculate horizontal distances elev = T(3,:)*(pi/180); %Calculate x and y distances [a,b] = size(V); for j = 1:a for p = 1:b x(j,p) = dist(j)*cos(elev(p)); z(j,p) = dist(j)*sin(elev(p)); end lidar Lidar scan- dist Elev. angle x z
15
figure(1);clf; pcolor(x,z,V) shading flat xlabel('X (m AGL)'); ylabel('Z (m AGL)'); title('Doppler Radial Velocity (m/s)') colorbar Plotting with pcolor
16
figure(1) Set any data within the first 100 m to be NaN Filter the data so that if there is a velocity change of ±7 ms -1 between any two range gates, then any data after that is NaN. Adjust the colorbar axis to show the range of velocities for your data.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.