资源简介

kraken计算传播损失的程序及使用说明书,使用工具为Matlab2014b,示例程序在mytest中

资源截图

代码片段和文件信息

function add_noise

% Incorporate the source level and the noise level to an existing set of
% time series
% The receiver timeseries is read from a file and assumed to be based on a
% 0 dB source.
%
% mbp 4/09

clear all

pcmFileRoot = ‘2211_Sd_100_Arr‘;   % output file
%pcmFileRoot =‘autec_V4kts‘;   % output file

% read a clean packet for use as a marker
STSFIL = ‘../sample_band-A_pkt-2_2frames.wav‘
[ stsTemp sample_rate ] = wavread( STSFIL );
sts = stsTemp( 1 : 2 : 5*96000 );  % sub-sample down to 48000/s

% WHOI micromodem band A
fc    = 10000;
BW    = 10000;
flow  = fc - BW / 2;
fhigh = fc + BW / 2;
T     = 5;   % packets of 5 seconds each
fs    = 48000;
deltat = 1 / fs;

SLdB  = [ 185 185 ];   % source level in dB (total power)
SL    = 10.^( SLdB / 20 );

AdB = linspace( 30 50 2 );   % noise amplitude in dB (PSD not total power)
A   = sqrt( 2 ) * sqrt( fhigh - flow ) * 10.^( AdB / 20 );

% generate the noise time series (filtered gaussian random noise)
% noise_ts is a matrix with each column having the noise vector as a
% different power level
noise_ts = makenoise( fc BW T fs ) * A;

% summary
disp( ‘*** Noise ***‘ )
disp( ‘Power spectral density = ‘ )
disp( AdB )

disp( ‘Total power =‘ )
disp( 20 * log10( A ) - 3 )

% check using norm
disp( ‘Total power calculated directly from timeseries =‘ )
disp( 20 * log10( norm( noise_ts ) * sqrt( deltat ) ) - 10 * log10( T ) )

for ird = 1 : 20 % length( Pos.r.depth );
   disp( ird )
   eval(  [ ‘load ‘ pcmFileRoot ‘_Rd_‘ num2str( ird ) ] );
   for ir = 1 : 100 % length( Pos.r.range );
      rts = rtsmat( : ir );      % extract the timeseries for this particular receiver
      rts = rts * SL + noise_ts;  % incorporate source level and noise level
      
      for iNL = 1 : length( A )   % loop over noise levels
         
         % write to file
         pcmfile = [ pcmFileRoot ‘_NL_‘ num2str( AdB( iNL ) ) ‘.pcm‘ ];
         if ( ird == 1 && ir == 1 )
            fid_out = fopen( pcmfile ‘w‘ ‘ieee-le‘ );
            
            % write marker packet (used to know when modem starts
            % processing)
            fwrite( fid_out 2^15 * 0.95 * sts / max( abs( sts ) ) ‘int16‘ );
         else
            fid_out = fopen( pcmfile ‘a‘ ‘ieee-le‘ );
         end
         if ( fid_out == -1 )
            error(‘Can‘‘t open PCM file for output.‘);
         end
         
         fwrite( fid_out 2^15 * 0.95 * rts( : iNL ) / max( abs( rts( : iNL ) ) ) ‘int16‘ );
         fclose( fid_out );
      end
      
   end
   
end

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2609  2016-06-28 17:35  Matlab\add_noise.m

     文件        348  2016-06-28 17:35  Matlab\aggregator.m

     文件        389  2016-06-28 17:35  Matlab\angles.m

     文件        878  2016-06-28 17:35  Matlab\bbrun.m

     文件        835  2016-06-28 17:35  Matlab\beamform.m

     文件        212  2016-06-28 17:35  Matlab\bellhop.m

     文件        208  2016-06-28 17:35  Matlab\bounce.m

     文件       1371  2016-06-28 17:35  Matlab\Contents.m

     文件       7407  2018-01-19 11:15  Matlab\delayandsum.m

     文件       6148  2016-06-28 17:35  Matlab\Krakel\.DS_Store

     文件        317  2016-06-28 17:35  Matlab\Krakel\ahmad.env

     文件       5741  2016-06-28 17:35  Matlab\Krakel\ahmad.prt

     文件        317  2016-06-28 17:35  Matlab\Krakel\ahmad2.env

     文件      30578  2016-06-28 17:35  Matlab\Krakel\analytic_oases_comp.fig

     文件        556  2016-06-28 17:35  Matlab\Krakel\elaswg.m

     文件        564  2016-06-28 17:35  Matlab\Krakel\evfunc.m

     文件       4055  2016-06-28 17:35  Matlab\Krakel\evs_efuncs.m

     文件        340  2016-06-28 17:35  Matlab\Krakel\field.flp

     文件         74  2016-06-28 17:35  Matlab\Krakel\fields.flp

     文件       3449  2016-06-28 17:35  Matlab\Krakel\init_elmatrix.m

     文件        239  2016-06-28 17:35  Matlab\Krakel\iso.env

     文件       1408  2016-06-28 17:35  Matlab\Krakel\iso.mod

     文件       1344  2016-06-28 17:35  Matlab\Krakel\iso.prt

     文件       2982  2016-06-28 17:35  Matlab\Krakel\krakelM.m

     文件        737  2016-06-28 17:35  Matlab\Krakel\MunkK.env

     文件       2172  2016-06-28 17:35  Matlab\Krakel\normiz.m

     文件       2446  2016-06-28 17:35  Matlab\Krakel\rvector.mat

     文件       8175  2016-06-28 17:35  Matlab\Krakel\setAB.m

     文件        334  2016-06-28 17:35  Matlab\krakel.m

     文件       6148  2016-06-28 17:35  Matlab\Kraken\.DS_Store

............此处省略240个文件信息

评论

共有 条评论