Monday, January 15, 2007

2007-01-15 Headmaps

I think I figured out how I intend to do the headmaps.

Gonna make it a image, with a gausian peak at our points..

Something like:
x=[1:20]; y=[1:20]; x=[1:.3:50]; y=[1:.3:50]; [X,Y]=meshgrid(x,y);
f=inline('(1/(2*pi*s)).*exp(-(((x-a).^2+(y-b).^2)/(2*s^2)))','x','y', 's', 'a', 'b');

% Test points
A = f(X,Y, 3, 25, 25);
A = A + f(X,Y, 3, 10, 25);
A = A + f(X,Y, 3, 25, 45);
A = A + f(X,Y, 3, 15, 45);
A = A + f(X,Y, 3, 19, 35);

A = 1000*A;

ibg = image(A);
colormap jet

% lets put a transparent circle on this
t = 0:.1:2*pi;
[imheight,imwidth] = size(A(:,:,1));
x = round((1/2)*imwidth*cos(t)+round(imwidth/2));
y = round((1/2)*imheight*sin(t)+round(imheight/2));
imCircleAlphaData = roipoly(A,x,y);
set(ibg,'AlphaData',double(imCircleAlphaData));


End result:


Thursday, January 4, 2007

2007-01-03

Dean and I met today to discuss the current progress on the project.

EarshotMain currently functions very well. The only problem with the current implementation resides in the displaying of real-time signal acquisition. At this moment in time all real-time data collected causes a new figure to be produced as opposed to creating the plot in the existing plot window inside the acutal GUI. Dean is looking into this.

The PSD screen is functional (will be redesigned by myself to conform to Earshotmain); however, Dean is looking into ensuring the PSD is being correctly generated and determing how changing certain parameters affects the plot.

I will continue my research and work into the spectrogram and its implementation in creating the Time VS Frequency plot. The plan is to take two closely related signals that differ only in one spot, subtract them from one another and plot the result on the spectrogram. (Baseline - Recorded)

Weekly meetings have now been scheduled to happen every Monday afternoon at 3:30pm

Monday, January 1, 2007

Standarts

Hey, I believe we need to standardize our global variable names. I propose the following.
  • Entire data set: data:matrix - Every column is a data set
  • Time: time:vector
  • Sampling frequency: ts:int
  • Window size for our Welsh PSD estimate: welch_winlength:int
  • Percentage of window overlab for our Welsh PSD estimate: welch_overlap_percentage:int
  • Which channels are on: channels:bool[16] (say channel 2 and 3 are on.. channels = [0 1 1 0 0 ... 0])
  • The default start range for any frequency: global_psd_freq_start:int = 0
  • The default start range for any frequency: global_psd_freq_end:int = 26
  • The start of the delta band: delta_band_start:int = 0
  • The end of the delta band: delta_band_end:int = 4
  • The start of the theta band: theta_band_start:int = 4
  • The end of the theta band: theta_band_end:int = 8
  • The start of the alpha band: alpha_band_start:int = 8
  • The end of the alpha band: alpha_band_end:int = 12
  • The start of the beta band: beta_band_start:int = 12
  • The end of the beta band: beta_band_end:int = 26
  • X,Y positions of the channels: channel_cart_positions:matrixchannels X 2
Please follow up as I am certain I am missing some. What about the start and end times, are they different for each window?

For time, I'm not sure how you guys are dealing with it, but I'm just going to choose a sampling frequency and length of time to suit the data length I have. But when we actually run this, it should just work out ( guessing: time = [0:1/ts:(length(data)/ts)-(1/ts)];)