To check out this repository please hg clone the following URL, or open the URL using EasyMercurial or your preferred Mercurial client.
The primary repository for this project is hosted at git://github.com/rmeddis/MAP.git .
This repository is a read-only copy which is updated automatically every hour.
root / testPrograms / demoTwisterSpikes.m @ 38:c2204b18f4a2
History | View | Annotate | Download (1.68 KB)
| 1 | 9:ecad0ea62b43 | rmeddis | function demoTwisterSpikes |
|---|---|---|---|
| 2 | |||
| 3 | % MAPdemo runs the MATLAB auditory periphery model (MAP1_14) as far as |
||
| 4 | 23:6cce421531e2 | rmeddis | % IC (spikes) with graphical output |
| 5 | 9:ecad0ea62b43 | rmeddis | |
| 6 | 24:a5e4a43c1673 | rmeddis | restorePath=path; |
| 7 | addpath (['..' filesep 'MAP'], ['..' filesep 'wavFileStore'], ... |
||
| 8 | ['..' filesep 'utilities']) |
||
| 9 | |||
| 10 | 9:ecad0ea62b43 | rmeddis | |
| 11 | %% #1 parameter file name |
||
| 12 | MAPparamsName='Normal'; |
||
| 13 | |||
| 14 | |||
| 15 | 24:a5e4a43c1673 | rmeddis | %% #2 spikes (slow) representation |
| 16 | 9:ecad0ea62b43 | rmeddis | AN_spikesOrProbability='spikes'; |
| 17 | |||
| 18 | |||
| 19 | 24:a5e4a43c1673 | rmeddis | %% #3 speech file input |
| 20 | 9:ecad0ea62b43 | rmeddis | fileName='twister_44kHz'; |
| 21 | |||
| 22 | |||
| 23 | %% #4 rms level |
||
| 24 | % signal details |
||
| 25 | leveldBSPL=70; % dB SPL |
||
| 26 | |||
| 27 | |||
| 28 | %% #5 number of channels in the model |
||
| 29 | % 21-channel model (log spacing) |
||
| 30 | 38:c2204b18f4a2 | rmeddis | numChannels=11; |
| 31 | 35:25d53244d5c8 | rmeddis | lowestBF=250; highestBF= 8000; |
| 32 | 9:ecad0ea62b43 | rmeddis | BFlist=round(logspace(log10(lowestBF), log10(highestBF), numChannels)); |
| 33 | |||
| 34 | |||
| 35 | %% #6 change model parameters |
||
| 36 | 38:c2204b18f4a2 | rmeddis | paramChanges={};
|
| 37 | 9:ecad0ea62b43 | rmeddis | |
| 38 | %% delare showMap options |
||
| 39 | showMapOptions=[]; % use defaults |
||
| 40 | |||
| 41 | % or (example: show everything including an smoothed SACF output |
||
| 42 | 35:25d53244d5c8 | rmeddis | showMapOptions.printModelParameters=1; |
| 43 | showMapOptions.showModelOutput=1; |
||
| 44 | showMapOptions.printFiringRates=1; |
||
| 45 | showMapOptions.showACF=0; |
||
| 46 | showMapOptions.showEfferent=0; |
||
| 47 | showMapOptions.surfSpikes=0; |
||
| 48 | 38:c2204b18f4a2 | rmeddis | showMapOptions.surfAN=0; % 2D plot of HSR response |
| 49 | 32:82fb37eb430e | rmeddis | |
| 50 | 9:ecad0ea62b43 | rmeddis | %% Generate stimuli |
| 51 | 35:25d53244d5c8 | rmeddis | [inputSignal sampleRate]=wavread(fileName); |
| 52 | inputSignal(:,1); |
||
| 53 | targetRMS=20e-6*10^(leveldBSPL/20); |
||
| 54 | rms=(mean(inputSignal.^2))^0.5; |
||
| 55 | amp=targetRMS/rms; |
||
| 56 | inputSignal=inputSignal*amp; |
||
| 57 | 9:ecad0ea62b43 | rmeddis | |
| 58 | |||
| 59 | %% run the model |
||
| 60 | tic |
||
| 61 | |||
| 62 | fprintf('\n')
|
||
| 63 | disp(['Signal duration= ' num2str(length(inputSignal)/sampleRate)]) |
||
| 64 | disp([num2str(numChannels) ' channel model']) |
||
| 65 | disp('Computing ...')
|
||
| 66 | 26:b03ef38fe497 | rmeddis | |
| 67 | 9:ecad0ea62b43 | rmeddis | MAP1_14(inputSignal, sampleRate, BFlist, ... |
| 68 | MAPparamsName, AN_spikesOrProbability, paramChanges); |
||
| 69 | 26:b03ef38fe497 | rmeddis | |
| 70 | 9:ecad0ea62b43 | rmeddis | |
| 71 | % the model run is now complete. Now display the results |
||
| 72 | 38:c2204b18f4a2 | rmeddis | UTIL_showMAP(showMapOptions) |
| 73 | 9:ecad0ea62b43 | rmeddis | |
| 74 | toc |
||
| 75 | path(restorePath) |