帮助 IQ 平衡方程?

信息处理 信号分析
2022-02-21 21:04:20

我开发了一个频谱范围,可以从 IQ 信号开始绘制信号与频率的关系图。我目前没有办法平衡 IQ 信号,所以我正在寻找各种方法来做到这一点。我遇到了这篇文章,这对我来说相当容易理解,因为我对所有 DSP 都很陌生。我有一个问题是关于一些方程的符号:例如,代表什么我在数学符号表中找不到这些参考。a2=2t(i)t(i)

3个回答

我根据那篇文章用 Java 编写了代码,但它对我不起作用。Alpha(I 数据标量)计算为左右,而通常计算为一个虚数。有没有人对此有任何运气或可以指出我更好的智商校正算法?100cos(ω)

(要清楚:calculateMatrixacd都是实例变量)

public void correctIQ(int[] data) {

    int length = data.length / 2;

    // ( I'(t) & Q'(t) )
    int[] iData = new int[length];
    int[] qData = new int[length];

    // Deinterleave IQ data 
    for (int i = 0; i < length; i++) {
        iData[i] = data[i * 2];
        qData[i] = data[i * 2 + 1];
    }

    // ( I''(t) & Q''(t) )
    double[] qDataOffset = new double[length];
    double[] iDataOffset = new double[length];

    // Calculate DC offset
    double qOffset = mean(qData);
    double iOffset = mean(iData);

    // Apply DC offset
    for (int i = 0; i < length; i++) {
        iDataOffset[i] = iData[i] - iOffset;
        qDataOffset[i] = qData[i] - qOffset;
    }

    // Provided equations calculated on frequency change
    if(calculateMatrix) {
        double alpha = Math.sqrt(2.0 * multiplyMean(iDataOffset, iDataOffset));
        double sinw = (2.0 / alpha) * multiplyMean(iDataOffset, qDataOffset);
        double cosw = Math.sqrt(1.0 - (sinw * sinw));

        a = 1.0f / alpha;
        c = -sinw / (alpha * cosw);
        d = 1.0f / cosw;
    }        

    // Replace into interleaved array
    for(int i=0;i<length;i++) {
        data[i*2]=(int)((iData[i]-iOffset)*a);
        data[i*2+1]=(int)((iData[i]-iOffset)*c+(qData[i]-qOffset)*d);
    }
}

double mean(int[] values) {
    long sum = 0L;
    for(int i=0;i<values.length;i++) {
        sum+=values[i];
    }
    return ((double)sum)/values.length;
}

double multiplyMean(double[] values1, double[] values2) {
    long sum = 0L;
    for(int i=0;i<values1.length;i++) {
        sum+=values1[i]*values2[i];
    }
    return ((double)sum)/values1.length;
}

我没有机会详细阅读这篇文章,但它看起来像是在某个索引变量(在你的情况下)上取 2 个向量之间的内积,如i<Xi,Xi>=1Ni|Xi|2

这是平均符号,您经常在 DSP 和通信系统的书籍和文章中看到它。它也在文章中:

在此处输入图像描述