This repository contains the data resources and the source code for the Wiener Filtering in Joint Time-Vertex Fractional Fourier Transform Domains paper published in IEEE Signal Processing Letters. Please cite the following paper if you use this code in your research:
@article{alikasifoglu2024wienerjfrt,
title = {Wiener Filtering in Joint Time-Vertex Fractional Fourier Domains},
author = {Alikaşifoğlu, Tuna and Kartal, B\"{u}nyamin and Ko\c{c}, Aykut},
year = {2024},
journal = {IEEE Signal Processing Letters},
volume = {31},
pages = {1319-1323},
issn = {1558-2361},
publisher = {Institute of Electrical and Electronics Engineers (IEEE)},
url = {https://dx.doi.org/10.1109/LSP.2024.3396664},
doi = {10.1109/lsp.2024.3396664}
}
-
EPFL's Graph Signal Processing Toolbox (
gspbox
): see GitHub and documentation pages.-
The project assumes the
gspbox
directory is present in the root of the project, and compiled according to the directives presented in the documentation. -
If you already have a way to include
gspbox
to your path, then you can ignore this. However, if you want to download the code with itsgspbox
dependency, you need to use--recursive
option while cloning, e.g.,git clone --recursive https://github.com/koc-lab/jfrt-experiments.git
or with GitHub CLI,
gh repo clone koc-lab/jfrt-experiments -- --recursive
-
-
CVX
, which is a MATLAB Software for Disciplined Convex Programming: see GitHub and documentation pages.- The
CVX
library is needed by thegraph-arma
component of the codebase, which is an implementation of the Autoregressive Moving Average Graph Filtering paper (published in: IEEE Transactions on Signal Processing Volume: 65, Issue: 2, 15 January 2017), and it is based on the provided source code by Andreas Loukas on his blog.CVX
library needs to be installed in order to design ARMA graph filters, so you do not need it if you are not going to usegraph-arma
codes. - The best way to obtain CVX is to visit the download page, which provides pre-built archives containing standard and professional versions of CVX tailored for specific operating systems. That is why
CVX
is not added as a submodule likegspbox
. They advise not to manually add it to path and use a setup script, hence it does not matter where you place the library other than some given restrictions (see documentation).
- The
-
Clone the repository
- If you want the
gspbox
as submodule, clone recursively (see Dependencies section).
- If you want the
-
Install
gspbox
dependency, by enteringgspbox
directory in MATLAB prompt, and running the following command (see documentation for further details):gsp_start; gsp_make; gsp_install;
-
Install
CVX
dependency, by installing the pre-built archive for your operating system and extracting it. Then, by enteringcvx
directory in MATLAB prompt, run the following command, and do not try to manually add the directory to path (see documentation for further details):cvx_setup