Skip to content
Snippets Groups Projects
Select Git revision
  • master
  • blup
2 results

.gitlab-ci.yml

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    This GitLab CI configuration is valid. 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