No BSD License  

Highlights from
circonv

3.33333

3.3 | 12 ratings Rate this file 13 Downloads (last 30 days) File Size: 2.05 KB File ID: #1117

circonv

by

 

30 Nov 2001 (Updated )

C = CIRCONV(A,B,N) performs the N-point circular convolution of vectors A and B

| Watch this File

File Information
Description

CIRCONV N-point circular convolution

C = CIRCONV(A,B,N) performs the N-point circular convolution of vectors A and B. C is returned as a row vector. A and B must be vectors, but may be of different lengths. N must be a positive, non-zero integer. The results of CIRCONV will match that of CONV if N>=( length(A) + length(B) - 1). This is also the alias-free criterion for the circular convolution.

See also CONV

Acknowledgements

This file inspired Circular Convolution.

MATLAB release MATLAB 5.3 (R11)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (15)
19 Oct 2011 chewkaisheng

how can this related to the 3D sound ??

26 Apr 2009 Trevor Boyd Smith

There is a much cleaner more intuitive implementation located at: http://www.mathworks.com/matlabcentral/fileexchange/13030

06 Nov 2008 desi agarwal

it says i have to use vectors only

Z = [ 2 -1 0 -3; -3 2 -1 0; 0 -3 2 -1; -1 0 -3 2]
B = [ 1 -3-2*i 4 -3+2*i].' with N =4

it doesnt work?

16 Sep 2008 Piyush Tarey

helped me...in lab..hehe

16 Sep 2008 Pradeep Purohit  
15 Jan 2008 Ory Eger

Works perfectly! Very useful.

27 Nov 2007 a singer

you can do this directly using:
y=ifft(fft(a,n).*fft(b,n),n);
in exactly one line.

01 Oct 2007 saurabh jain

Thanx man

14 Aug 2007 mohd rafi ramli

that is good

15 Nov 2006 luis farinha

Very impoortante for me this script.

31 Aug 2005 Anand Rangarajan

It is handy.

06 Apr 2005 prabin gautam

very needed one

22 Mar 2004 Milos Komarcevic

A very handy function, but I believe the ctranspose ' needs to be changed to transpose .' throughout, otherwise you don't get what you expect when convolving complex vectors.

04 Dec 2003 tom tom

Good job
Wont have to do my homework :)

04 Dec 2002 Andrew Singer

Why not just multiple the DFT's of the time-aliased signals? It would be MUCH faster...

function xo = talias(x,N)
%% function xo=talias(x,N)
%% time alias data vector x to length N for an N-point DFT.
l=length(x);
nrows=ceil(l/N);
x=[x(:)' zeros(1,N*nrows-l)];
xo = sum( reshape(x,N,nrows)' );

then Y = ifft(fft(talias(a,n)).*fft(talias(b,n)))

Contact us