⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 e1094.m

📁 matlab算法集 matlab算法集
💻 M
字号:
%-----------------------------------------------------------------------
% Example 10.9.4: Helicopter Noise 
%-----------------------------------------------------------------------

% Initialize

   clc                          % clear screen
   clear                        % clear variables
   n     = 1024;		% number of samples 
   m     = 3;			% number of harmonics 
   fs    = 512;	                % sampling frequency (Hz) 
   T     = 1/fs;		% sampling interval (sec) 
   blade = 32;	                % blade passage frequency (Hz) 
   r     = 6;  	                % random noise magnitude 
   df    = fs/n;                % frequency precision
   t     = zeros (n,1);		% time 
   x     = zeros (n,1);		% noise  	
   A     = zeros (n,1);		% magnitude  
   phi   = zeros (n,1);		% phase  
   f     = zeros (n/2,1);	% frequency 
   a     = [3.2 2.1 1.3]';	% magnitudes 
   p     = [1.8 -0.7 2.1]';	% phase angles 	
		
% Generate noise    		
   
   fprintf ('Example 10.9.4: Helicopter Noise\n');
   t = [0 : 1/T : (n-1)/T]';
   x = randu (n,1,-r,r);
		
   for i = 1 : n
      for j = 1 : m
      	 b = j*2*pi*blade*(i-1)*T;
         x(i) = x(i) + a(j)*cos(b + p(j));
      end
   end
   graphxy (t,x,'Helicoptor Noise','t (sec)','x(t)')

% Convert from dB sound measurments to amplitude 

   for i = 1 : n
      x(i) =  10^(x(i)/20);
   end

% Compute spectrum 
   
   [A,phi,f] = spectra (x,fs);
   A(1) = 0;				         % remove average value 
   graphxy (f(1:n/2),A(1:n/2),'Magnitude Spectrum','f (Hz)','A')
%-----------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -