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! :-)
Manipal Reddy Kuchakuntla
2014 年 4 月 20 日
0 投票
Manipal Reddy Kuchakuntla
2014 年 4 月 22 日
0 投票
カテゴリ
ヘルプ センター および 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!