Compare View
Commits (2)
Diff
Showing 4 changed files Side-by-side Diff
ifcs2018_journal.tex
... | ... | @@ -297,7 +297,7 @@ In the transition band, the behavior of the filter is left free, we only {\color |
297 | 297 | % the passband are not considered and might be excessive for excessively wide transitions widths introduced for filters with few coefficients. |
298 | 298 | Our criterion to compute the filter rejection considers |
299 | 299 | % r2.8 et r2.2 r2.3 |
300 | -the maximum magnitude within the stopband, to which the {\color{red}sum of the absolute values | |
300 | +the {\color{red}minimal} rejection within the stopband, to which the {\color{red}sum of the absolute values | |
301 | 301 | within the passband is subtracted to avoid filters with excessive ripples, normalized to the |
302 | 302 | bin width to remain consistent with the passband criterion (dBc/Hz units in all cases)}. With this |
303 | 303 | criterion, we meet the expected rejection capability of low pass filters as shown in figure~\ref{fig:custom_criterion}. |
... | ... | @@ -312,7 +312,7 @@ criterion, we meet the expected rejection capability of low pass filters as show |
312 | 312 | \begin{figure} |
313 | 313 | \centering |
314 | 314 | \includegraphics[width=\linewidth]{images/colored_custom_criterion} |
315 | -\caption{Custom criterion (maximum rejection in the stopband minus the {\color{red} sum of the | |
315 | +\caption{Custom criterion (maximum rejection in the stopband minus the {\color{red} sum of the | |
316 | 316 | absolute values of the passband rejection normalized to the bandwidth}) |
317 | 317 | comparison between monolithic filter and cascaded filters} |
318 | 318 | \label{fig:custom_criterion} |
... | ... | @@ -418,12 +418,21 @@ Finally, equation~\ref{eq:init} gives the number of bits of the global input. |
418 | 418 | This model is non-linear since we multiply some variable with another variable |
419 | 419 | and it is even non-quadratic, as the cost function $F$ does not have a known |
420 | 420 | linear or quadratic expression. To linearize this problem, we introduce $p$ FIR configurations. |
421 | +% AH: conflit merge | |
422 | +% This variable must be defined by the user, it represent the number of different | |
423 | +% set of coefficients generated (for memory, we use \texttt{firls} and \texttt{fir1} | |
424 | +% functions from GNU Octave). To choose this value, we consider a subset of the figure~\ref{fig:rejection_pyramid} | |
425 | +% to restrict the number of configurations. Indeed, it is useless to have too many coefficients or | |
426 | +% too many bits, hence we take the configurations close to edge of pyramid. Thank to theses | |
427 | +% configurations $C_{ij}$ and $\pi_{ij}^C$ ($1 \leq j \leq p$) become constant | |
428 | +% and the function $F$ can be estimate for each configurations | |
429 | +% thanks our rejection criterion. We also defined binary | |
421 | 430 | This variable $p$ is defined by the user, and represents the number of different |
422 | 431 | set of coefficients generated (remember, we use \texttt{firls} and \texttt{fir1} |
423 | 432 | functions from GNU Octave) based on the targeted filter characteristics and implementation |
424 | -assumptions (estimated number of bits defining the coefficients). Hence, $C_{ij}$ and | |
433 | +assumptions (estimated number of bits defining the coefficients). Hence, $C_{ij}$ and | |
425 | 434 | $\pi_{ij}^C$ become constants and |
426 | -we define $1 \leq j \leq p$ so that the function $F$ can be estimated (Look Up Table) | |
435 | +we define $1 \leq j \leq p$ so that the function $F$ can be estimated (Look Up Table) | |
427 | 436 | for each configurations thanks to the rejection criterion. We also define the binary |
428 | 437 | variable $\delta_{ij}$ that has value 1 if stage~$i$ is in configuration~$j$ |
429 | 438 | and 0 otherwise. The new equations are as follows: |
... | ... | @@ -441,14 +450,36 @@ respectively equations \ref{eq:areadef}, \ref{eq:rejectiondef} and \ref{eq:bits} |
441 | 450 | Equation~\ref{eq:config} states that for each stage, a single configuration is chosen at most. |
442 | 451 | |
443 | 452 | {\color{red} |
444 | -However the problem remains quadratic at this stage since in the constraint~\ref{eq:areadef2} | |
453 | +% JM: conflict merge | |
454 | +% However the problem remains quadratic at this stage since in the constraint~\ref{eq:areadef2} | |
455 | +% we multiply | |
456 | +% $\delta_{ij}$ and $\pi_i^-$. However, since $\delta_{ij}$ is a binary variable we can | |
457 | +% linearise this multiplication if we can bound $\pi_i^-$. As $\pi_i^-$ is the data size, | |
458 | +% we define $0 < \pi_i^- \leq 128$ which is the maximum data size whose estimation is | |
459 | +% assumed on hardware characteristics. | |
460 | +% The Gurobi (\url{www.gurobi.com}) optimization software used to solve this quadratic | |
461 | +% model is able to linearize the model provided as is. This model | |
462 | +% has $O(np)$ variables and $O(n)$ constraints.} | |
463 | +However the problem remains quadratic at this stage since in the constraint~\ref{eq:areadef2} | |
445 | 464 | we multiply |
446 | 465 | $\delta_{ij}$ and $\pi_i^-$. However, since $\delta_{ij}$ is a binary variable we can |
447 | -linearise this multiplication if we can bound $\pi_i^-$. As $\pi_i^-$ is the data size, | |
448 | -we define $0 < \pi_i^- \leq 128$ which is the maximum data size whose estimation is | |
449 | -assumed on hardware characteristics. | |
450 | -The Gurobi (\url{www.gurobi.com}) optimization software used to solve this quadratic | |
451 | -model is able to linearize the model provided as is. This model | |
466 | +linearise linearize this multiplication. The following formula shows how to linearize | |
467 | +this situation in general case with $y$ a binary variable and $x$ a real variable ($0 \leq x \leq X^{max}$): | |
468 | +\begin{equation*} | |
469 | + m = x \times y \implies | |
470 | + \left \{ | |
471 | + \begin{split} | |
472 | + m & \geq 0 \\ | |
473 | + m & \leq y \times X^{max} \\ | |
474 | + m & \leq x \\ | |
475 | + m & \geq x - (1 - y) \times X^{max} \\ | |
476 | + \end{split} | |
477 | + \right . | |
478 | +\end{equation*} | |
479 | +So if we bound up $\pi_i^-$ by 128~bits which is the maximum data size whose estimation is | |
480 | +assumed on hardware characteristics, | |
481 | +the Gurobi (\url{www.gurobi.com}) optimization software will be able to linearize | |
482 | +for us the quadratic problem so the model is left as is. This model | |
452 | 483 | has $O(np)$ variables and $O(n)$ constraints.} |
453 | 484 | |
454 | 485 | % This model is non-linear and even non-quadratic, as $F$ does not have a known |
... | ... | @@ -727,7 +758,7 @@ the MAX/1500 problem of maximizing rejection for a given resource allocation (15 |
727 | 758 | \end{subfigure} |
728 | 759 | \caption{\color{red}Solutions for the MAX/500, MAX/1000 and MAX/1500 problems of maximizing |
729 | 760 | rejection for a given resource allocation. |
730 | -The filter shape constraint (bandpass and bandstop) is shown as thick | |
761 | +The filter shape constraint (bandpass and bandstop) is shown as thick | |
731 | 762 | horizontal lines on each chart.} |
732 | 763 | \end{figure} |
733 | 764 | |
... | ... | @@ -994,9 +1025,9 @@ the MIN/80 problem of minimizing resource allocation for reaching a 80~dB reject |
994 | 1025 | the MIN/100 problem of minimizing resource allocation for reaching a 100~dB rejection.} |
995 | 1026 | \label{fig:min_100} |
996 | 1027 | \end{subfigure} |
997 | - \caption{\color{red}Solutions for the MIN/40, MIN/60, MIN/80 and MIN/100 problems of reaching a | |
998 | -given rejection while minimizing resource allocation. The filter shape constraint (bandpass and | |
999 | -bandstop) is shown as thick | |
1028 | + \caption{\color{red}Solutions for the MIN/40, MIN/60, MIN/80 and MIN/100 problems of reaching a | |
1029 | +given rejection while minimizing resource allocation. The filter shape constraint (bandpass and | |
1030 | +bandstop) is shown as thick | |
1000 | 1031 | horizontal lines on each chart.} |
1001 | 1032 | \end{figure} |
1002 | 1033 | |
... | ... | @@ -1074,16 +1105,16 @@ previous one. |
1074 | 1105 | |
1075 | 1106 | {\color{red} % r1.4 |
1076 | 1107 | To conclude, we compare our monolithic filters with the FIR Compiler provided by |
1077 | -Xilinx in the Vivado software suite (v.2018.2). For each experiment we use the | |
1108 | +Xilinx in the Vivado software suite (v.2018.2). For each experiment we use the | |
1078 | 1109 | same coefficient set and we compare the resource consumption, having checked that |
1079 | -the transfer functions are indeed the same with both implementations. | |
1110 | +the transfer functions are indeed the same with both implementations. | |
1080 | 1111 | Table~\ref{tbl:xilinx_resources} exhibits the results. |
1081 | 1112 | The FIR Compiler never use BRAM while our filter implementation uses one block. This difference |
1082 | 1113 | is explained be our wish to have a dynamically reconfigurable FIR filter whose |
1083 | -coefficients can be updated from the processing system without having to update the FPGA design. | |
1114 | +coefficients can be updated from the processing system without having to update the FPGA design. | |
1084 | 1115 | With the FIR compiler, the coefficients are defined during the FPGA design so that |
1085 | -changing coefficients required generating a new design. The difference with the LUT consumption | |
1086 | -is also attributed to the reconfigurability logic. However the DSP consumption, the scarcest | |
1116 | +changing coefficients required generating a new design. The difference with the LUT consumption | |
1117 | +is also attributed to the reconfigurability logic. However the DSP consumption, the scarcest | |
1087 | 1118 | resource, is the same between the Xilinx FIR Compiler end |
1088 | 1119 | our FIR block: we hence conclude that our solutions are as good as the Xilinx implementation. |
1089 | 1120 |
ifcs2018_journal_reponse.tex
... | ... | @@ -74,7 +74,7 @@ |
74 | 74 | %REVIEWERS' COMMENTS: |
75 | 75 | |
76 | 76 | \documentclass[a4paper]{article} |
77 | -\usepackage{fullpage,graphicx,amsmath} | |
77 | +\usepackage{fullpage,graphicx,amsmath, subcaption} | |
78 | 78 | \begin{document} |
79 | 79 | {\bf Reviewer: 1} |
80 | 80 | |
... | ... | @@ -82,21 +82,21 @@ |
82 | 82 | %In general, the language/grammar is adequate. |
83 | 83 | |
84 | 84 | {\bf |
85 | -On page 2, "...allowing to save processing resource..." could be improved. % r1.1 | |
85 | +On page 2, "...allowing to save processing resource..." could be improved. % r1.1 - fait | |
86 | 86 | } |
87 | 87 | |
88 | 88 | The sentence was split and now reads ``number of coefficients irrelevant: processing |
89 | 89 | resources are hence saved by shrinking the filter length.'' |
90 | 90 | |
91 | 91 | {\bf |
92 | -On page 2, "... or thanks at a radiofrequency-grade..." isn't at all clear what % r1.2 | |
92 | +On page 2, "... or thanks at a radiofrequency-grade..." isn't at all clear what % r1.2 - fait | |
93 | 93 | the author meant.} |
94 | 94 | |
95 | 95 | Grammatical error: this sentence now reads ``or by sampling a wideband (125~MS/s) |
96 | 96 | Analog to Digital Converter (ADC) loaded by a 50~$\Omega$ resistor.'' |
97 | 97 | |
98 | 98 | {\bf |
99 | -On page 2, the whole paragraph "The first step of our approach is to model..." % r1.3 | |
99 | +On page 2, the whole paragraph "The first step of our approach is to model..." % r1.3 - fait | |
100 | 100 | could be improved. |
101 | 101 | } |
102 | 102 | |
... | ... | @@ -151,7 +151,7 @@ Reviewer: 2 |
151 | 151 | %filters are really superior than monolithic filters. |
152 | 152 | |
153 | 153 | {\bf |
154 | -By observing the results presented in fig. 10-16, it is clear that the % r2.1 - fait | |
154 | +By observing the results presented in fig. 10-16, it is clear that the % r2.1 | |
155 | 155 | performances of multi-stage filters are obtained at the expense of their |
156 | 156 | selectivity and, in this sense, the filters presented in these figures |
157 | 157 | are not equivalent. For example, in Fig. 14, at the limit of the pass band, |
... | ... | @@ -162,23 +162,61 @@ n = 1. |
162 | 162 | We have added on Figs 10--16 (now Fig 9(a)--(c)) the templates used to defined |
163 | 163 | the bandpass and the bandstop of the filter. |
164 | 164 | |
165 | -We are aware of this non equivalence but we think that difference is not due to | |
166 | -the cascaded filters but due to the definition of rejection criterion on the passband. | |
167 | -Indeed, in this article we have choose to take the summation of absolute values divide | |
168 | -by the bandwidth but this criterion is maybe too permissive and when we cascade | |
169 | -some filters this impact is more important. | |
170 | - | |
171 | -However if we change the passband | |
172 | -criterion by the summation of absolute value in passband, weighting given to the | |
173 | -passband ripples are too strong and the solver are too restricted to provide | |
174 | -any interesting solution but the ripples in passband will be minimal. And if we take the maximum absolute value in | |
175 | -passband, the rejection evaluation are too close form the original criterion and | |
176 | -the result will not be improved. | |
177 | - | |
178 | -In this article, we will highlight the methodology instead of the filter conception. | |
179 | -Even if our rejection criterion is not the best, our methodology was not impacted | |
180 | -by this. So to improve the results, we can choose another criterion to be more | |
181 | -selective in passband but it is not the main objective of our article. | |
165 | +% We are aware of this non equivalence but we think that difference is not due to | |
166 | +% the cascaded filters but due to the definition of rejection criterion on the passband. | |
167 | +% Indeed, in this article we have choose to take the summation of absolute values divide | |
168 | +% by the bandwidth but this criterion is maybe too permissive and when we cascade | |
169 | +% some filters this impact is more important. | |
170 | +% | |
171 | +% However if we change the passband | |
172 | +% criterion by the summation of absolute value in passband, weighting given to the | |
173 | +% passband ripples are too strong and the solver are too restricted to provide | |
174 | +% any interesting solution but the ripples in passband will be minimal. And if we take the maximum absolute value in | |
175 | +% passband, the rejection evaluation are too close form the original criterion and | |
176 | +% the result will not be improved. | |
177 | +% | |
178 | +% In this article, we will highlight the methodology instead of the filter conception. | |
179 | +% Even if our rejection criterion is not the best, our methodology was not impacted | |
180 | +% by this. So to improve the results, we can choose another criterion to be more | |
181 | +% selective in passband but it is not the main objective of our article. | |
182 | + | |
183 | +We are aware of this equivalence but to limit this ripples in passband we need to | |
184 | +enforce the criterion in passband. If we takes a strong constraint like the sum of | |
185 | +absolute values in passband. This criterion si too selective because it considers | |
186 | +all bin on passband while on stopband we consider only the bin with the minimal | |
187 | +rejection. The figure~\ref{fig:letter_sum_criterion} exhibits the results with this | |
188 | +criterion for the case MAX/1000. With this criterion, the solver find an optimal | |
189 | +solution with only two filters in expend of the resource consumption. | |
190 | + | |
191 | + | |
192 | + | |
193 | +If we relax a little the criterion on passband with taking only the maximum absolute | |
194 | +value, we will penalize the ripple peak on passband. The figure~\ref{fig:letter_max_criterion} | |
195 | +shows the results for the case MAX/1000. There as almost no difference with the | |
196 | +article results. Indeed the only little change are on the case $i = 4$ and $i = 5$ | |
197 | +which they have some minor differences on coefficients choices. | |
198 | + | |
199 | +\begin{figure}[h!tb] | |
200 | + \centering | |
201 | + \begin{subfigure}{0.48\linewidth} | |
202 | + \includegraphics[width=\linewidth]{images/letter_sum_criterion} | |
203 | + \caption{Results for the case MAX/1000 with as criterion on passband the sum absolute values} | |
204 | + \label{fig:letter_sum_criterion} | |
205 | + \end{subfigure} | |
206 | + \begin{subfigure}{0.48\linewidth} | |
207 | + \includegraphics[width=\linewidth]{images/letter_max_criterion} | |
208 | + \caption{Results for the case MAX/1000 with as criterion on passband the maximum absolute value} | |
209 | + \label{fig:letter_max_criterion} | |
210 | + \end{subfigure} | |
211 | +\end{figure} | |
212 | + | |
213 | +Finally, if we ponder the maximum absolute on passband, we should improve the result. | |
214 | +We have arbitrary pondered by 5 the maximum. Even with this weighting, the solver | |
215 | +choose the same coefficient set. | |
216 | + | |
217 | +To conclude, find a better criterion to avoid the ripples on the passband is difficult. | |
218 | +In this article we are focused on the methodology so even if our criterion could | |
219 | +be improved, our methodology still the same and it works independently of rejection criterion. | |
182 | 220 | |
183 | 221 | % %Peut etre refaire une serie de simulation dans lesquelles on impose une coupure |
184 | 222 | % %non pas entre 40 et 60\% mais entre 50 et 60\% pour demontrer que l'outil s'adapte |
... | ... | @@ -197,7 +235,7 @@ selective in passband but it is not the main objective of our article. |
197 | 235 | % Dire que la chute n'est pas du à la casacade mais à notre critère de rejection |
198 | 236 | |
199 | 237 | {\bf |
200 | -The reason is in the criterion that considers the average attenuation in % r2.2 - fait | |
238 | +The reason is in the criterion that considers the average attenuation in % r2.2 | |
201 | 239 | the pass band. This criterion does not take into account the maximum attenuation |
202 | 240 | in this region, which is a very important parameter for specifying a filter |
203 | 241 | and for evaluating its performance. For example, with this criterion, a |
... | ... | @@ -206,8 +244,9 @@ filter with 0.1 dB of ripple is considered equivalent to a filter with |
206 | 244 | and in the results that are obtained and has to be reconsidered. |
207 | 245 | } |
208 | 246 | |
209 | -See above: If we choose the maximum absolute value in passband, we penalize the | |
210 | -case with 10 dB of ripple. | |
247 | +See above: Choose a criterion is difficult and depending on the context. The main | |
248 | +contribution on this paper is the methodology not the criterion to quantify the | |
249 | +rejection. | |
211 | 250 | |
212 | 251 | % The manuscript erroneously stated that we considered the mean of the absolute |
213 | 252 | % value within the bandpass: the manuscript has now been corrected to properly state |
... | ... | @@ -231,7 +270,7 @@ excessive ripples, including excessive attenuation, within the passband. |
231 | 270 | % TODO: test max(stopband) - max(abs(passband)) |
232 | 271 | |
233 | 272 | {\bf |
234 | -In addition, I suggest to address the following points: % r2.4 | |
273 | +In addition, I suggest to address the following points: % r2.4 - fait | |
235 | 274 | - Page 1, line 50: the Authors state that IIR have shorter impulse response |
236 | 275 | than FIR. This is not true in general. The sentence should be reconsidered. |
237 | 276 | } |
... | ... | @@ -248,7 +287,7 @@ is not considered as an issue as would be in a closed loop system in which lag a |
248 | 287 | minimized to avoid oscillation conditions.'' |
249 | 288 | |
250 | 289 | {\bf |
251 | -- Fig. 4: the Author should motivate in the text why it has been chosen % r2.5 | |
290 | +- Fig. 4: the Author should motivate in the text why it has been chosen % r2.5 - fait | |
252 | 291 | this transition bandwidth and if it is a typical requirement for phase-noise |
253 | 292 | metrology. |
254 | 293 | } |
... | ... | @@ -279,13 +318,16 @@ hardware.'' so indeed the input datastream resolution is considered as a given. |
279 | 318 | {\bf |
280 | 319 | - Page 3, line 47: the initial criterion can be omitted and, consequently, % r2.7 - fait |
281 | 320 | Fig. 5 can be removed. |
321 | +} | |
322 | + | |
323 | +Juste mettre une phrase pour dire que la mean ne donnait pas de bons résultats | |
324 | + | |
325 | +{\bf | |
282 | 326 | - Page 3, line 55: ``maximum rejection'' is not compatible with fig. 4. % r2.8 - fait |
283 | 327 | It should be ``minimum'' |
284 | 328 | } |
285 | -AH: Je ne suis pas d'accord, le critère n'est pas le min de la rejection mais le max | |
286 | -de la magnitude. J'ai corrigé en ce sens. | |
287 | 329 | |
288 | -Juste mettre une phrase pour dire que la mean ne donnait pas de bons résultats | |
330 | +This typo has been corrected. | |
289 | 331 | |
290 | 332 | {\bf |
291 | 333 | - Page e, line 55, second column: ``takin'' % r2.9 - fait |
... | ... | @@ -309,7 +351,7 @@ set of coefficients generated (for memory, we use \texttt{firls} and \texttt{fir |
309 | 351 | functions from GNU Octave)'' |
310 | 352 | |
311 | 353 | {\bf |
312 | -- Page 4, line 31: how does the delta function transform model from non-linear % r2.13 - fait | |
354 | +- Page 4, line 31: how does the delta function transform model from non-linear % r2.13 | |
313 | 355 | and non-quadratic to a quadratic?} |
314 | 356 | |
315 | 357 | The first model is non-quadratic but when we introduce the $p$ configurations, |
... | ... | @@ -335,22 +377,22 @@ Gurobi does the linearization so we don't explain this step to keep the model mo |
335 | 377 | simple. However, to improve the transformation explanation we have rewrote the |
336 | 378 | paragraph ``This model is non-linear and even non-quadratic...''. |
337 | 379 | |
338 | -JMF : il faudra mettre une phrase qui explique, ca en lisant cette reponse dans l'article | |
339 | -je ne comprends pas comment ca repond a la question | |
340 | - | |
341 | -AH: Je mets l'idée en français, je vais essayer de traduire ça au mieux. | |
342 | - | |
343 | -Le problème n'est pas linéaire car nous multiplions des variables | |
344 | -entre elles. Pour y remédier, on considère que $\pi_{ij}^C$ et que $C_{ij}$ deviennent | |
345 | -des constantes. On introduit donc la variable binaire $\delta_{ij}$ qui nous indique | |
346 | -quel filtre est sélectionné étage par étage. Malgré cela, notre programme est encore | |
347 | -quadratique car pour la contrainte~\ref{eq:areadef2}, il reste une multiplication entre | |
348 | -$\delta_{ij}$ et $\pi_i^-$. Mais comme $\delta_{ij}$ est binaire, il est possible | |
349 | -de linéariser cette multiplication pour peu qu'on puisse borner $\pi_i^-$. Dans notre | |
350 | -cas définir la borne est facile car $\pi_i^-$ représente une taille de donnée, | |
351 | -nous définission donc $0 < \pi_i^- \leq 128$ car il s'agit de la plus grande valeur | |
352 | -qu'on puisse traiter. De plus nous utiliserons Gurobi qui se chargera de faire la | |
353 | -linéarisation pour nous. | |
380 | +% JMF : il faudra mettre une phrase qui explique, ca en lisant cette reponse dans l'article | |
381 | +% je ne comprends pas comment ca repond a la question | |
382 | +% | |
383 | +% AH: Je mets l'idée en français, je vais essayer de traduire ça au mieux. | |
384 | +% | |
385 | +% Le problème n'est pas linéaire car nous multiplions des variables | |
386 | +% entre elles. Pour y remédier, on considère que $\pi_{ij}^C$ et que $C_{ij}$ deviennent | |
387 | +% des constantes. On introduit donc la variable binaire $\delta_{ij}$ qui nous indique | |
388 | +% quel filtre est sélectionné étage par étage. Malgré cela, notre programme est encore | |
389 | +% quadratique car pour la contrainte~\ref{eq:areadef2}, il reste une multiplication entre | |
390 | +% $\delta_{ij}$ et $\pi_i^-$. Mais comme $\delta_{ij}$ est binaire, il est possible | |
391 | +% de linéariser cette multiplication pour peu qu'on puisse borner $\pi_i^-$. Dans notre | |
392 | +% cas définir la borne est facile car $\pi_i^-$ représente une taille de donnée, | |
393 | +% nous définission donc $0 < \pi_i^- \leq 128$ car il s'agit de la plus grande valeur | |
394 | +% qu'on puisse traiter. De plus nous utiliserons Gurobi qui se chargera de faire la | |
395 | +% linéarisation pour nous. | |
354 | 396 | |
355 | 397 | |
356 | 398 | {\bf |
images/letter_max_criterion.pdf
No preview for this file type
images/letter_sum_criterion.pdf
No preview for this file type