Nhiễu lượng tử hóa để lấy mẫu kết hợp - Nhiễu pha?


9

Cập nhật: Xem thêm suy nghĩ ở dưới cùng của bài viết này.


Trong các điều kiện lấy mẫu chung không bị hạn chế bởi những gì được mô tả dưới đây (tín hiệu không tương thích với đồng hồ lấy mẫu), nhiễu lượng tử hóa thường được ước tính là phân phối đồng đều trên một mức lượng tử hóa. Khi hai ADC được kết hợp với các đường dẫn I và Q để tạo mẫu cho tín hiệu phức tạp, nhiễu lượng tử hóa có cả các thành phần nhiễu biên độ và pha như mô phỏng bên dưới. Như được hiển thị, nhiễu này có phân bố tam giác khi các thành phần I và Q đóng góp bằng nhau cho biên độ và pha như khi tín hiệu ở góc 45 ° và đồng nhất khi tín hiệu ở trên trục. Điều này được mong đợi vì tiếng ồn lượng tử hóa cho mỗi I và Q không được giải thích nên các bản phân phối sẽ kết hợp khi cả hai đều đóng góp vào kết quả đầu ra.

Câu hỏi được đặt ra là liệu phân phối nhiễu pha này có thay đổi đáng kể đối với các trường hợp lấy mẫu kết hợp không (giả sử đồng hồ lấy mẫu có nhiễu pha vượt trội hơn nhiều nên không phải là một yếu tố)? Cụ thể tôi đang cố gắng để hiểu nếu lấy mẫu mạch lạc sẽ làm giảm đáng kể nhiễu pha liên quan đến lượng tử hóa. Điều này sẽ được áp dụng trực tiếp để tạo tín hiệu đồng hồ, nơi mà sự kết hợp sẽ dễ dàng được duy trì.

Xem xét cả tín hiệu thực (một ADC) hoặc tín hiệu phức (hai ADC, một cho I và một cho Q cùng mô tả một mẫu phức đơn). Trong trường hợp tín hiệu thực, đầu vào là sóng hình sin quy mô đầy đủ và thuật ngữ pha được lấy từ tín hiệu phân tích; jitter liên quan đến những thay đổi trong giao thoa 0 của âm hình sin sẽ là một ví dụ về nhiễu pha kết quả cho tín hiệu thực. Đối với trường hợp tín hiệu phức tạp, đầu vào là thang đo đầy đủ Aejωt , trong đó các thành phần thực và ảo sẽ từng là sóng hình sin ở quy mô đầy đủ.

Điều này có liên quan đến câu hỏi này trong đó việc lấy mẫu mạch lạc được mô tả tốt, nhưng nhiễu pha đặc biệt không được đề cập:

Lấy mẫu mạch lạc và phân phối tiếng ồn lượng tử hóa

Để mô tả các thành phần nhiễu AM và PM cảm ứng rõ ràng hơn, tôi đã thêm hình ảnh dưới đây cho trường hợp lượng tử hóa phức tạp cho thấy một vectơ phức tạp trong thời gian lấy mẫu tức thời và mẫu được lượng tử hóa liên quan dưới dạng một chấm đỏ, giả sử tuyến tính phân phối đồng đều các mức lượng tử hóa của các phần thực và phần ảo của tín hiệu.

nhập mô tả hình ảnh ở đây

Phóng to vị trí xảy ra lượng tử hóa trong hình trên để minh họa lỗi biên độ cảm ứng và lỗi pha:

nhập mô tả hình ảnh ở đây

Do đó đưa ra một tín hiệu tùy ý

s(t)=a(t)ejωt=a(t)cos(ωt)+ja(t)sin(ωt)=i(t)+jq(t)

Tín hiệu lượng tử là điểm khoảng cách gần nhất được đưa ra bởi

sk=ik+jqk

Trong đó q k đại diện cho các cấp I và Q được lượng tử hóa, mỗi mức được ánh xạ theo:ikqk

Q{x}=ΔxΔ+12

nơi đại diện chochức năng sàn, và Δ đại diện cho một mức lượng tử rời rạc.()Δ

ik=Q{i(tk)}qk=Q{q(tk)}

Các lỗi biên độ là nơi t k|s(tk)||sk|tk là thời gian mà được lấy mẫu để tạo s k .s(t)sk

Lỗi pha là nơi * đại diện cho liên hợp phức tạp.arg{s(tk)}arg{sk}=arg{s(tk)(sk)}

Câu hỏi cho bài này là bản chất của thành phần pha khi đồng hồ lấy mẫu tương xứng với (bội số nguyên của) tín hiệu đầu vào là gì?

Để giúp đỡ, đây là một số phân phối mô phỏng về biên độ và sai số pha cho trường hợp lượng tử hóa phức tạp với lượng tử hóa 6 bit trên I và Q. Đối với các mô phỏng này, người ta cho rằng tín hiệu thực tế là "sự thật" có khả năng tương đương ở bất kỳ nơi nào trong lượng tử hóa khu vực được xác định là lưới hiển thị trong sơ đồ trên. Lưu ý khi tín hiệu nằm dọc theo một trong các góc phần tư (tất cả I hoặc tất cả Q), phân phối đều đồng nhất như mong đợi trong trường hợp ADC đơn với tín hiệu thực. Nhưng khi tín hiệu dọc theo một góc 45 °, phân bố là hình tam giác. Điều này có ý nghĩa vì những trường hợp này tín hiệu có đóng góp I và Q bằng nhau, mỗi tín hiệu là các phân phối thống nhất không tương thích; do đó hai phân phối kết hợp thành hình tam giác.

45 độ với lượng tử hóa

Phóng to 45 độ với lượng tử hóa

biểu đồ góc

biểu đồ cường độ

Sau khi xoay vectơ tín hiệu về 0 °, biểu đồ cường độ và góc sẽ đồng đều hơn nhiều so với dự kiến:

Góc 0 độ với lượng tử hóa

biểu đồ góc ở 0 °

biểu đồ cường độ ở 0 °


Cập nhật: Vì chúng tôi vẫn cần câu trả lời cho câu hỏi cụ thể (câu trả lời của Oll bên dưới cung cấp một sự làm rõ về đặc điểm của tiếng ồn dẫn đến việc tôi cập nhật mật độ nhiễu tam giác và đồng nhất, nhưng các đặc điểm của nhiễu pha Các điều kiện lấy mẫu mạch lạc vẫn còn khó nắm bắt), tôi đưa ra những suy nghĩ sau đây có thể khuấy động một câu trả lời thực tế hoặc tiến bộ hơn nữa (Lưu ý đây là những suy nghĩ nhiều người có thể hiểu sai nhưng vì lợi ích của việc đi đến câu trả lời mà tôi chưa có):

Lưu ý rằng trong các điều kiện lấy mẫu nhất quán, tốc độ lấy mẫu là bội số nguyên của tần số đầu vào (và cả pha bị khóa). Điều này có nghĩa là sẽ luôn có một số lượng mẫu nguyên khi chúng ta quay một lần qua mặt phẳng phức cho tín hiệu và lấy mẫu phức tạp, hoặc số lượng mẫu của một chu kỳ của một hình sin cho tín hiệu thực và lấy mẫu (ADC đơn).

Và như được mô tả, chúng tôi đang giả sử trường hợp khi đồng hồ lấy mẫu tự nó vượt trội hơn rất nhiều nên không được coi là một đóng góp. Do đó, các mẫu sẽ hạ cánh ở cùng một vị trí chính xác, mọi lúc.

Xem xét trường hợp của tín hiệu thực, nếu chúng ta chỉ quan tâm đến các điểm giao nhau bằng 0 trong việc xác định nhiễu pha, kết quả của việc lấy mẫu kết hợp sẽ chỉ là một sự thay đổi cố định nhưng nhất quán trong độ trễ (mặc dù các cạnh tăng và giảm có thể có độ trễ khác nhau khi kết hợp là một số nguyên lẻ). Rõ ràng trong trường hợp lấy mẫu phức tạp, chúng tôi quan tâm đến nhiễu pha ở mọi mẫu và tôi nghi ngờ điều này cũng giống với trường hợp thực (nghi ngờ của tôi là độ trễ thời gian của mẫu bất kỳ lúc nào từ "sự thật" sẽ là Thành phần nhiễu pha nhưng sau đó tôi bị lẫn lộn nếu tôi nhân đôi số chênh lệch biên độ ...) Nếu có thời gian tôi sẽ mô phỏng điều này vì tất cả các biến dạng sẽ hiển thị ở các số nguyên của tín hiệu đầu vào được đưa ra theo mẫu lặp lại trên một đi xe đạp, và phép thử pha so với biên độ sẽ là pha tương đối của sóng hài so với cơ bản - điều thú vị để xem qua mô phỏng hoặc tính toán là nếu các sóng hài này (đối với tín hiệu thực sẽ có các đối tác phức hợp) sẽ là tổng hợp trong hình cầu với cơ bản hoặc cùng pha, và do đó được hiển thị là tất cả nhiễu pha, tất cả nhiễu biên độ hoặc tổng hợp của cả hai. (Sự khác biệt giữa số lượng mẫu chẵn và số lẻ có thể ảnh hưởng đến điều này).

Đối với trường hợp phức tạp, đồ họa của Olli được thực hiện với số lượng mẫu tương xứng, có thể thêm thông tin chi tiết nếu anh ta chỉ ra vị trí mẫu trên "sự thật" có liên quan đến từng mẫu được lượng tử hóa. Một lần nữa tôi lại thấy khả năng có sự khác biệt thú vị nếu có số lượng mẫu lẻ hoặc chẵn (đồ họa của anh ta là chẵn và tôi quan sát sự đối xứng có kết quả nhưng không thể thấy rõ hơn những gì nó có thể làm với pha so với nhiễu biên độ). Tuy nhiên, điều có vẻ rõ ràng đối với tôi là các thành phần nhiễu trong cả trường hợp thực và phức tạp sẽ chỉ tồn tại ở các sóng hài nguyên của tần số cơ bản khi lấy mẫu kết hợp. Vì vậy, mặc dù nhiễu pha vẫn có thể tồn tại như tôi nghi ngờ, nhưng vị trí của nó ở các sóng hài nguyên có lợi hơn nhiều cho việc loại bỏ bằng cách lọc tiếp theo.

(Lưu ý: điều này có thể áp dụng cho việc tạo tín hiệu đồng hồ tham chiếu có độ tinh khiết phổ cao.)


2
tôi ước bạn có thể rõ ràng hơn về mặt toán học về câu hỏi thực tế là gì.
robert bristow-johnson

fS= =NfSTôigfSfSTôig

Tôi đồng ý với rbj. Bạn có ý nghĩa gì bởi phân phối pha-so-biên độ? Tôi tin một phép toán. mô hình về vấn đề sẽ giúp giải quyết nó. Ngoài ra, có thể cụ thể hơn, làm thế nào bạn sẽ phân tách tiếng ồn lượng tử hóa thành biên độ và pha?
Maximilian Matthé

1
Đây có phải là liên quan đến các tín hiệu tùy ý như được ám chỉ trong văn bản hoặc các tín hiệu hình sin cụ thể như ngụ ý của các mô tả toán học? Vụ việc được đơn giản hóa rất nhiều nếu người ta chỉ xem xét các tín hiệu hình sin, nhưng điều này có thể không phản ánh hành vi của các tín hiệu trong thế giới thực. Trong trường hợp tương xứng cho tín hiệu hình sin, lỗi lượng tử hóa là định kỳ và chuyển thành lỗi pha định kỳ. Kiểu tương quan đó sẽ không hiển thị trong biểu đồ, nhưng có lẽ rất quan trọng trong việc mô tả "bản chất của thành phần pha" (ý bạn là lỗi pha phải không?).
nhảy vào

1
Tôi cũng đã cập nhật câu hỏi để làm rõ rằng nó dành cho việc tạo tín hiệu đồng hồ, trong trường hợp bạn muốn giữ đoạn cuối của mình đồng bộ (bạn đề nghị nó là để đo lường).
Dan Boschen

Câu trả lời:


5

Tôi có nghi ngờ về (Chỉnh sửa: điều này sau đó đã bị xóa khỏi câu hỏi):

Việc phân phối các thành phần nhiễu AM và PM này có thể được giả định một cách hợp lý là đồng nhất miễn là tín hiệu đầu vào không tương thích với đồng hồ lấy mẫu

tín hiệu(t)= =cos(t)+jtội(t)
qbạnmộtntTôized_STôignmộttôi(t)= =tròn(Ncos(t))N+j×tròn(Ntội(t))N

1/NN= =5

Dấu vết của tín hiệu và lượng tử hóa của nó
N= =5mộttín hiệu(t)+(1-một)qbạnmộtntTôized_STôignmộttôi(t)một= =[15,25,35,45].

Lỗi trong pha do lỗi lượng tử hóa là:

phmộtSe_error(t)= =atan(Tôi đang(qbạnmộtntTôized_STôignmộttôi(t)),Tái(qbạnmộtntTôized_STôignmộttôi(t)))-atan(Tôi đang(tín hiệu(t)),Tái(tín hiệu(t)))= =atan(tròn(Ntội(t)),tròn(Ncos(t)))-atan(Ntội(t),Ncos(t))= =atan(tròn(Ntội(t)),tròn(Ncos(t)))-mod(t-π,2π)+π

Trừ các pha bọc là rủi ro nhưng nó hoạt động trong trường hợp này.

Lỗi pha
phmộtSe_error(t)N= =5

tphmộtSe_error(t),phmộtSe_error(t)

NN,Nsự phân phối của các lỗi I và Q là đồng nhất, và các lỗi pha và cường độ là các số giả ngẫu nhiên đến từ các phân phối phụ thuộc vào pha tín hiệu. Sự phụ thuộc vào pha là có bởi vì lưới lượng tử hóa hình chữ nhật có một hướng.

N,arcsinααα+π/2

[(1/2,1/2),(-1/2,1/2),(-1/2,-1/2),(1/2,-1/2)]

Xoay các tọa độ này hoặc phép chiếu tương đương của chúng với sai số pha tỷ lệ và trục sai số cường độ tỷ lệ mang lại cho cả hai hàm mật độ xác suất tuyến tính mảnh thông minh trên cùng phẳng với các nút:

[cos(α)2-tội(α)2,cos(α)2+tội(α)2,-cos(α)2+tội(α)2,-cos(α)2-tội(α)2]= =[2cos(α+π/4),2tội(α+π/4),-2cos(α+π/4),-2tội(α+π/4)]

Các nút của PDF
αα{-π,-π/2,0,π/2,π}α{-3π/4,-π/4,π/4,3π/4}N2/22/2arcsin của bước lượng tử hóa.

Ở các giai đoạn trung gian, PDF trông giống như thế này:

PDF trung cấp
α= =π/số 8.

|cos(α)||tội(α)|cos2(α)/12+tội2(α)/12= =1/12,α .

Có thể có một số kết hợp "giả ngẫu nhiên" của pha ban đầu và tỷ lệ số hợp lý của tần số hình sin phức tạp và tần số lấy mẫu chỉ gây ra một lỗi nhỏ cho tất cả các mẫu trong chuỗi lặp lại. Do các đối xứng của các lỗi được thấy trong Hình 1, theo nghĩa sai số tuyệt đối tối đa, các tần số đó là một lợi thế mà số lượng điểm truy cập trên vòng tròn là bội số của 2, vì cần may mắn (sai số thấp) chỉ một nửa số điểm. Các lỗi ở phần còn lại của các điểm là trùng lặp với những gì chúng là ở những điểm đầu tiên, với các dấu hiệu lật. Ít nhất bội số của 6, 4 và 12 có lợi thế thậm chí còn lớn hơn. Tôi không chắc chắn quy tắc chính xác ở đây là gì, bởi vì dường như tất cả không phải là một bội số của một cái gì đó. Nó ' s một cái gì đó về các đối xứng lưới kết hợp với số học modulo. Tuy nhiên, các lỗi giả ngẫu nhiên là xác định, vì vậy một tìm kiếm toàn diện cho thấy sự sắp xếp tốt nhất. Tìm cách sắp xếp tốt nhất theo nghĩa lỗi tuyệt đối trung bình gốc (RMS) là dễ nhất:

RMS lỗi tuyệt đối trong sắp xếp giảChi tiết
Hình 5. Trên cùng) Lỗi lượng tử hóa tuyệt đối RMS thấp nhất có thể có trong bộ tạo dao động IQ phức tạp cho các độ sâu bit dao động khác nhau, sử dụng lưới lượng tử hóa vuông . Mã nguồn cho việc tìm kiếm toàn diện cho các sắp xếp giả ngẫu nhiên là ở cuối câu trả lời. Dưới cùng) Chi tiết, hiển thị để so sánh (màu xanh nhạt)N1/6/N,N= =2k-1,k+1

12

{(0,±112),(±112,0),(±97,±56),(±56,±97)}112.00297611139371

-91,5 dB so với cơ bản, như được xác nhận bởi mã nguồn Octave ở cuối câu trả lời.

[0,1,2,3,4,5,6,7,số 8,9,10,11]2π/121/125/12[0,5,10,3,số 8,1,6,11,4,9,2,7]2π/12

π/23π/3 mỗi mẫu sẽ làm việc một cách hoàn hảo. Tỷ lệ như vậy có thể được thực hiện trong miền tương tự. Điều này làm tăng số lượng trục đối xứng của lưới, dẫn đến những thay đổi chủ yếu thuận lợi cho các sắp xếp giả ngẫu nhiên:

Lỗi tuyệt đối RMS trong sắp xếp giả ngẫu nhiên cho lưới hình chữ nhật không vuông với hệ số tỷ lệ sqrt (3)
Hình 6. Các lỗi lượng tử hóa tuyệt đối RMS thấp nhất có thể có trong bộ tạo dao động IQ phức tạp cho các độ sâu bit dao động khác nhau, sử dụng một 3 .

Đáng chú ý, đối với bộ dao động 8 bit có 30 điểm trên vòng tròn, sai số tuyệt đối RMS nhỏ nhất có thể là -51,3 dB trên lưới vuông và -62,5 dB trên lưới hình chữ nhật không vuông, trong đó sai số tuyệt đối RMS thấp nhất chuỗi pseudolucky có lỗi:

Lỗi trong chuỗi thứ hai
3

Tôi không có kinh nghiệm thực tế với tín hiệu đồng hồ IQ, vì vậy tôi không chắc điều gì quan trọng. Với việc tạo tín hiệu đồng hồ, sử dụng bộ chuyển đổi tín hiệu số sang tương tự (DAC), tôi nghi ngờ rằng trừ khi sử dụng các cách sắp xếp giả tốt, tốt hơn là có mức nhiễu trắng thấp hơn so với phổ nhiễu hài với mức nhiễu cao hơn các đột biến xuất phát từ một chuỗi lặp lại lỗi lượng tử hóa (xem Lấy mẫu kết hợp và phân phối tiếng ồn lượng tử hóa ). Những gai quang phổ này, cũng như nhiễu trắng, có thể rò rỉ qua điện dung ký sinh và có tác dụng không mong muốn ở các bộ phận khác của hệ thống hoặc ảnh hưởng đến khả năng tương thích điện từ (EMC) của thiết bị. Tương tự như vậy, công nghệ trải phổ cải thiện EMC bằng cách biến các xung quang phổ thành tầng nhiễu thấp hơn.

1M100

// Compile with g++ -O3 -std-c++11

#include <stdio.h>
#include <math.h>
#include <complex>
#include <float.h>
#include <algorithm>

// N = circle size in quantization steps
const int maxN = 127;
// M = number of points on the circle
const int minM = 1; 
const int maxM = 100;
const int stepM = 1;
// k = floor(log2(N))
const int mink = 2;
const double IScale = 1; // 1 or larger please, sqrt(3) is very lucky, and 1 means a square grid

typedef std::complex<double> cplx;

struct Arrangement {
  int initialI;
  int initialQ;
  cplx fundamentalIQ;
  double fundamentalIQNorm;
  double cost;
};

int main() {
  cplx rotation[maxM+1];
  cplx fourierCoef[maxM+1];
  double invSlope[maxM+1];
  Arrangement bestArrangements[(maxM+1)*(int)(floor(log2(maxN))+1)];
  const double maxk(floor(log2(maxN)));
  const double IScaleInv = 1/IScale;
  for (int M = minM; M <= maxM; M++) {
    rotation[M] = cplx(cos(2*M_PI/M), sin(2*M_PI/M));
    invSlope[M] = tan(M_PI/2 - 2*M_PI/M)*IScaleInv;
    for (int k = 0; k <= maxk; k++) {
      bestArrangements[M+(maxM+1)*k].cost = DBL_MAX;
      bestArrangements[M+(maxM+1)*k].fundamentalIQNorm = 1;
    }
  }
  for (int M = minM; M <= maxM; M += stepM) {
    for (int m = 0; m < M; m++) {
      fourierCoef[m] = cplx(cos(2*M_PI*m/M), -sin(2*M_PI*m/M))/(double)M;
    }
    for (int initialQ = 0; initialQ <= maxN; initialQ++) {
      int initialI(IScale == 1? initialQ : 0);
      initialI = std::max(initialI, (int)floor(invSlope[M]*initialQ));
      if (initialQ == 0 && initialI == 0) {
    initialI = 1;
      }
      for (; initialI*(int_least64_t)initialI  <= (2*maxN + 1)*(int_least64_t)(2*maxN + 1)/4 - initialQ*(int_least64_t)initialQ; initialI++) {
    cplx IQ(initialI*IScale, initialQ);
    cplx roundedIQ(round(real(IQ)*IScaleInv)*IScale, round(imag(IQ)));
        cplx fundamentalIQ(roundedIQ*fourierCoef[0].real());
    for (int m = 1; m < M; m++) {
      IQ *= rotation[M];
      roundedIQ = cplx(round(real(IQ)*IScaleInv)*IScale, round(imag(IQ)));
          fundamentalIQ += roundedIQ*fourierCoef[m];
    }
    IQ = fundamentalIQ;
    roundedIQ = cplx(round(real(IQ)*IScaleInv)*IScale, round(imag(IQ)));
    double cost = norm(roundedIQ-IQ);
    for (int m = 1; m < M; m++) {
      IQ *= rotation[M];
      roundedIQ = cplx(round(real(IQ)*IScaleInv)*IScale, round(imag(IQ)));
      cost += norm(roundedIQ-IQ);
    }
    double fundamentalIQNorm = norm(fundamentalIQ);
    int k = std::max(floor(log2(initialI)), floor(log2(initialQ)));
    //  printf("(%d,%d)",k,initialI);
    if (cost*bestArrangements[M+(maxM+1)*k].fundamentalIQNorm < bestArrangements[M+(maxM+1)*k].cost*fundamentalIQNorm) {
      bestArrangements[M+(maxM+1)*k] = {initialI, initialQ, fundamentalIQ, fundamentalIQNorm, cost};
    }
      }
    }
  }
  printf("N");
  for (int k = mink; k <= maxk; k++) {
    printf(",%d-bit", k+2);
  }
  printf("\n");
  for (int M = minM; M <= maxM; M += stepM) {
    printf("%d", M);
    for (int k = mink; k <= maxk; k++) {
      printf(",%.13f", sqrt(bestArrangements[M+(maxM+1)*k].cost/bestArrangements[M+(maxM+1)*k].fundamentalIQNorm/M));
    }
    printf("\n");
  }

  printf("bits,M,N,fundamentalI,fundamentalQ,I,Q,rms\n");
  for (int M = minM; M <= maxM; M += stepM) {
    for (int k = mink; k <= maxk; k++) {
      printf("%d,%d,%.13f,%.13f,%.13f,%d,%d,%.13f\n", k+2, M, sqrt(bestArrangements[M+(maxM+1)*k].fundamentalIQNorm), real(bestArrangements[M+(maxM+1)*k].fundamentalIQ), imag(bestArrangements[M+(maxM+1)*k].fundamentalIQ), bestArrangements[M+(maxM+1)*k].initialI, bestArrangements[M+(maxM+1)*k].initialQ, sqrt(bestArrangements[M+(maxM+1)*k].cost/bestArrangements[M+(maxM+1)*k].fundamentalIQNorm/M));
    }
  }
}

Đầu ra mẫu mô tả chuỗi ví dụ đầu tiên được tìm thấy với IScale = 1:

bits,M,N,fundamentalI,fundamentalQ,I,Q,rms
8,12,112.0029761113937,112.0029761113937,0.0000000000000,112,0,0.0000265717171

Kết quả mẫu mô tả chuỗi ví dụ thứ hai được tìm thấy với IScale = sqrt(3):

8,30,200.2597744568315,199.1627304588310,20.9328464782995,115,21,0.0007529202390

Mã Octave để kiểm tra chuỗi ví dụ đầu tiên:

x = [112+0i, 97+56i, 56+97i, 0+112i, -56+97i, -97+56i, -112+0i, -97-56i, -56-97i, 0-112i, 56-97i, 97-56i];
abs(fft(x))
20*log10(abs(fft(x)(6)))-20*log10(abs(fft(x)(2)))

Mã Octave để kiểm tra chuỗi ví dụ thứ hai:

x = exp(2*pi*i*(0:29)/30)*(199.1627304588310+20.9328464782995i);
y = real(x)/sqrt(3)+imag(x)*i;
z = (round(real(y))*sqrt(3)+round(imag(y))*i)/200.2597744568315;
#Error on IQ plane
star = z-exp(2*pi*i*(0:29)/30)*(199.1627304588310+20.9328464782995i)/200.2597744568315;
scatter(real(star), imag(star));
#Magnitude of discrete Fourier transform
scatter((0:length(z)-1)*2*pi/30, 20*log10(abs(fft(z))/abs(fft(z)(2)))); ylim([-120, 0]);
#RMS error:
10*log10((sum(fft(z).*conj(fft(z)))-(fft(z)(2).*conj(fft(z)(2))))/(fft(z)(2).*conj(fft(z)(2))))

Rất đẹp. Mỗi trục I và Q có độ lớn xấp xỉ bằng nhau; Tôi tự hỏi nếu chúng ta đang thấy một sự kết hợp của hai phân phối thống nhất - bạn đã thử lấy một biểu đồ kết quả của bạn chưa? Tôi cũng sẽ giả sử với logic chưa được xác minh này rằng tôi đang sử dụng phân phối biên độ cho tín hiệu phức tạp cũng có thể là hình tam giác? Bạn có hiểu biết gì về điều này có thể xảy ra khi đồng hồ lấy mẫu tương xứng không?
Dan Boschen

Tuy nhiên tôi sẽ cập nhật câu hỏi để không đề xuất nó là thống nhất!
Dan Boschen

xem cập nhật của tôi - Tôi đã mô phỏng và xác nhận sự nghi ngờ của mình với các bản phân phối hình tam giác. Dường như với tôi sự phân phối sẽ khác nhau giữa đồng phục và hình tam giác tùy theo góc độ (xem bản cập nhật của tôi để được giải thích); Vì vậy, nếu góc của chúng ta được phân phối đồng đều, chúng ta phải kết thúc với một phân phối tròn tổng thể.
Dan Boschen

1
@OlloNiemitalo Rất tuyệt. Bạn có hiểu rõ hơn về những gì sẽ xảy ra (đặc biệt là các thành phần lỗi pha) nếu chúng tôi giới hạn các vị trí trên vòng tròn đơn vị để lấy mẫu tương xứng; nghĩa là bội số cố định của tốc độ quay của một âm phức? Chắc chắn khi tốc độ lấy mẫu tăng, điều này sẽ tiếp cận với những gì bạn đã thể hiện. Nhưng làm thế nào chúng ta có thể mô tả một cách toán học các thành phần pha so với tỷ lệ đó khi chúng ta giới hạn các lựa chọn tương xứng?
Dan Boschen

1
Cảm ơn bạn đã nhai về điều này, và đưa ra hướng tiếp theo về nơi câu trả lời có thể. Lưu ý nếu tỷ lệ là một số nguyên chẵn thì mẫu sẽ lặp lại hai lần trong mỗi chu kỳ và sau đó nhân nhanh hơn cho bội số chia hết cho công suất cao hơn 2 '. Mô hình đó được xác định từ lý thuyết số modulo là nơi câu trả lời thực sự có thể là
Dan Boschen
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.