private RealMatrixExt computeStatisticalSpectrumDescriptor(RealMatrix sonogram, int bandLimit) {
        double[][] matrixSSD = new double[bandLimit][N_STATISTICAL_DESCRIPTORS];
        int nRows = sonogram.getRowDimension();

        if (nRows < bandLimit) { // requested number of bands is > than actual # of bands -> fill remainder with 0
            for (int r = nRows; r < bandLimit; r++) {
                Arrays.fill(matrixSSD[r], 0);
            }
            bandLimit = nRows;
        }

        for (int r = 0; r < bandLimit; r++) {
            matrixSSD[r] = getStatisticalSpectrumDescriptor(sonogram.getRow(r));
        }

        RealMatrixExt result = new RealMatrixExt(matrixSSD);
        result.setType(RealMatrixExt.TYPE_SSD);
        return result;
    }