I am getting Error using l1eq_pd
이전 댓글 표시
??? Undefined function or method 'l1eq_pd' for input arguments of type
'double'.
Error in ==> dspproject at 53
xp = l1eq_pd(x0,A,[],y,1e-2);
My code is
clc;
clear all;
Fs=10000;
x=wavread('speech3_10k');
figure(1)
stem(x)
title( 'input speech signal(recorded)');
xlabel('Length of the input speech signal');
ylabel('Amplitude of the input speech signal');
% Reecorded signal DCT
drec=dct(x);
figure(2)
stem(drec)
axis([0 3000 -1 1]);
title('Discrete cosine transform of the recorded signal');
xlabel('DCT Length');
ylabel('DCT amplitude');
% Making a signal sparse (Thresholding)
for i=1:1:3000;
if drec(i,1)<=0.08 && drec(i,1)>=0.04
drec(i,1)=0;
else
drec(i,1)=drec(i,1);
end
end
drec;
figure(3)
stem(drec)
axis([0 3000 -1 1]);
title('The Threshold spectrum');
xlabel('threshold spectrum length');
ylabel('threshold spectrum amplitude');
% K=>sparsity & N=>length)
K=64;
N=320;
% Random measurement matrix
A = randn(2,24006);
A = orth(A')';
figure(4)
imagesc(A)
colorbar;
colormap('lines');
title('Random Measurement matrix');
% observations vector
y = A*drec;
figure(5)
plot(y)
title('Observation Vector');
%initial guess = min energy
x0 = A'*y;
%solve the LP
tic
xp = l1eq_pd(x0,A,[],y,1e-2);
toc
figure(6)
plot(xp)
axis([0 3000 -0.6 0.6]);
title(' Reconstructed Spectrum using l1-minimization');
% Inv dicrete cosine transform of reconstructed signal
Xrec=idct(xp);
wavplay(Xrec,Fs)
figure(7)
stem(Xrec)
title('Reconstructed signal at the receiver');
xlabel('Length of the reconstructed signal');
ylabel('Amplitude of the reconstructed signl');
% Absolute error between the reconstructed and actual signal
err=(max(abs(Xrec-x)));
stem(err);
title(' Absolute Error');
xlabel('Maximum Absolute Error length');
ylabel('Maximum Absolute error')
댓글 수: 3
Geoff Hayes
2014년 4월 20일
Hi Manipal,
It almost sounds like your are missing the function l1eq_pd which is typically what this error implies. From the command line type:
help l1eq_pd
What is returned? Is there a description for this function? If not, then the function is missing.
Geoff
Manipal Reddy Kuchakuntla
2014년 4월 22일
Manipal Reddy Kuchakuntla
2014년 4월 22일
채택된 답변
추가 답변 (3개)
Shreyas Shenoy
2014년 6월 20일
편집: Shreyas Shenoy
2014년 6월 20일
1 개 추천
If you want to use the l1eq_pd function without errors, here's what you have to do!
Step 1:
- Go to http://statweb.stanford.edu/~candes/l1magic/
- Download the code.
- Unzip the folder into one of your choice. (For reference to the next step, mine is in D:\BIT ETSIT UPM\06.18)

Step 2:
- Open MATLAB. Click on 'Set path' option.

Step 3:
- Click on the option "Add with sub folders" and then select the folder "l1 magic" in the new window that opens.

Finally : Click on save once this window opens.

And now, you are good to go! :-)
카테고리
도움말 센터 및 File Exchange에서 Audio Processing Algorithm Design에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!