I am getting Error using l1eq_pd

19 views (last 30 days)
??? 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 Comments
Manipal Reddy Kuchakuntla
Manipal Reddy Kuchakuntla on 22 Apr 2014
I got to use the l1eq function. But the code I am trying execute isn't going good. Can anyone help me out.
When I am playing Xrec{wavplay(Xrec)};it is not the desired output. Its just a beep sound.
Manipal Reddy Kuchakuntla
Manipal Reddy Kuchakuntla on 22 Apr 2014
I got to use the l1eq function. But the code I am trying execute isn't going good. Can anyone help me out.
When I am playing Xrec{wavplay(Xrec)};it is not the desired output. Its just a beep sound.

Sign in to comment.

Accepted Answer

Star Strider
Star Strider on 20 Apr 2014
Edited: Star Strider on 20 Apr 2014
  3 Comments
Star Strider
Star Strider on 20 Apr 2014
My pleasure!
I did an Internet search for the file you were missing, and at least one of those promised to have it.
Manipal Reddy Kuchakuntla
Manipal Reddy Kuchakuntla on 22 Apr 2014
I got to use the l1eq function. But the code I am trying execute isn't going good. Can anyone help me out.
When I am playing Xrec{wavplay(Xrec)};it is not the desired output. Its just a beep sound.

Sign in to comment.

More Answers (3)

Shreyas Shenoy
Shreyas Shenoy on 20 Jun 2014
Edited: Shreyas Shenoy on 20 Jun 2014
If you want to use the l1eq_pd function without errors, here's what you have to do!
Step 1:
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! :-)

Manipal Reddy Kuchakuntla
Manipal Reddy Kuchakuntla on 20 Apr 2014
Hi Geoff
Yes I have a problem with the function. There is no such function.
What is that I can do. Help me out. Thank You Manipal

Manipal Reddy Kuchakuntla
Manipal Reddy Kuchakuntla on 22 Apr 2014
I got to use the l1eq function. But the code I am trying execute isn't going good. Can anyone help me out.
When I am playing Xrec{wavplay(Xrec)};it is not the desired output. Its just a beep sound.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!