Bit Error Rate High Values
Afficher commentaires plus anciens
I am using this code to find the bit error rate for the Kmeans clustering algorithm for receving a QPSK modulated data. Running the code high BER values are obtained (something more than 80). Can anyone help me with that ASAP.
clear all clc T=[ 2+2*i 2-2*i -2+2*i -2-2*i]; A=randn(150,2)+2*ones(150,2); C=randn(150,2)-2*ones(150,2); B=randn(150,2)+2*ones(150,2); F=randn(150,2)-2*ones(150,2); D=randn(150,2)+2*ones(150,2); G=randn(150,2)-2*ones(150,2); E=randn(150,2)+2*ones(150,2); H=randn(150,2)-2*ones(150,2); X = [A; B; D; C; F; E; G; H]; for k=1:5 [idx, centroids] = kmeans(X, k, 'Replicates', 20); x = X(:,1); y = X(:,2); BER=[]; for nn=1:4 ber=0; gt = zeros(1,4); for idx = 1 : 4 [dummy,gt(idx)] = min(sum(bsxfun(@minus, [real(T(idx)), imag(T(idx))],... centroids).^2, 2)); end randn('seed',123); rand_ind = randi(4, 10, 1); test_sequence = T(rand_ind); gt_labels = gt(rand_ind); x = real(test_sequence).*(nn*randn(1, 10)); y = imag(test_sequence).*(nn*randn(1, 10)); labels = zeros(1, 10); for idx = 1 : 10 [dummy,labels(idx)] = min(sum(bsxfun(@minus, [x(idx), y(idx)],... centroids).^2, 2)); end ber = sum(labels ~= gt_labels) / 10 * 100; BER=[BER ber]; end plot(nn,BER) end Thank you very much Kawther
Réponses (0)
Catégories
En savoir plus sur Gaussian Mixture Models dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!