Skip to content
Snippets Groups Projects
Select Git revision
  • topic/1203-testForPidApi
  • master default protected
  • gitkeep
  • dev protected
  • Issue/2309-docs
  • Issue/2259-updatePids
  • Issue/1321-pidEnquiryOverhaul
  • Hotfix/2087-efNet6
  • Issue/1910-MigrationtoNET6.0
  • Sprint/2022-01
  • Sprint/2021-23
  • Hotfix/82-updateDepsOfAPIs
  • Sprint/2021-11
  • Hotfix/1516-pidFix
  • Sprint/2021-08
  • Sprint/2021-05
  • Product/1188-LoggingExtended
  • Topic/1221-LogginExtendedNew
  • Hotfix/1370-swaggerDescription
  • Sprint/2021-04
  • Product/789-userContactEmail
  • v2.4.2
  • v2.4.1
  • v2.4.0
  • v2.3.2
  • v2.3.1
  • v2.3.0
  • v2.2.6
  • v2.2.5
  • v2.2.4
  • v2.2.3
  • v2.2.2
  • v2.2.1
  • v2.2.0
  • v2.1.0
  • v2.0.1
  • v2.0.0
  • v1.2.1
  • v1.2.0
  • v1.1.2
  • v1.1.1
41 results

build.cake

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    H_GetMeanValue.m 1.77 KiB
    function [ir3rdOctave, freqsOctave] = H_GetMeanValue(irFreq, freqsOctave)
    if ~exist('freqsOctave', 'var')
        freqsOctave = [20, 25, 31.5, 40, 50, 62.5, 80, 100, 125, 155, 200, 250, 315, 400, 500, 630, ...
            800, 1000, 1250, 1600, 2000, 2500, 3150, 4000, 5000, 6350, 8000, 10000, 12500, 16000, 20000];
    %     freqsOctave = [2, 2.5, 3.15, 4, 5, 6.25, 8, 10, 12.5, 15.5, freqsOctave];
    end
    
    freq = [1:length(irFreq)] .* 44100 ./ (length(irFreq));
    shortdim = min(size(irFreq, 2));
    ir3rdOctave = zeros(length(freqsOctave), size(irFreq, 2));
    for j = 1:size(irFreq, 2)
        for i = 1:length(freqsOctave)
            
            f = freqsOctave(i);
            fmin = f * 2^(-1 / 6);
            fmax = f * 2^(1 / 6);
            BW = '1/3 octave';
            N = 8;
            Fs = 44100;
            %     oneThirdOctaveFilter = octaveFilter('FilterOrder', N, ...
            %         'CenterFrequency', f, 'Bandwidth', BW, 'SampleRate', Fs);
            %     h  = step(oneThirdOctaveFilter, irTime);
            
            %     meanSqareSoundPressure = sqrt(sum(h.^2)/length(h));
            
            indexes = freq > fmin & freq < fmax;
            if sum(indexes) == 0
                freqsOctave(i) = -1;
                ir3rdOctave(i) = -1;
                continue;
                %         if ~exist('lastIndexes')
                %             ir3rdOctave(i) = irFreq(1);
                %         else
                %             ir3rdOctave(i) = sum(lastIndexes(:).*irFreq(:)) / sum(lastIndexes);
                %         end
            else
                ir3rdOctave(i, j) = sum(irFreq(indexes, j)) / sum(indexes);
                %         ir3rdOctave(i) =  sum(indexes(:) .* irFreq(:));
                lastIndexes = indexes;
            end
            %     ir3rdOctave(i) =  meanSqareSoundPressure;
        end
        freqsOctave(freqsOctave == -1) = [];
        ir3rdOctave(ir3rdOctave == -1) = [];
        
    end